5db095a6bfd7403cee610dbaa90f075357e16b13
[motion2.git] / server / services / ami / preview / index.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xb9aa=['Queue','[Preview][validateContact][Empty\x20Campaign]','Empty\x20Campaign','[Preview][validateContact][Trunk\x20not\x20work]','campaign\x20Name:\x20','\x20Trunk\x20is\x20not\x20active','\x20Trunk\x20Backup\x20is\x20not\x20active','Trunk\x20not\x20work','[Preview][validateContact][Campaign\x20Active]','\x20Not\x20Active','Is\x20Valid','SIP/%s/%s%s','trim','dialCutDigit','substring','getCallerId','dialRandomLastDigitCallerIdNumber','dialOriginateCallerIdNumber','originatecalleridname','extractCalleridName','originatecalleridnum','extractCalleridNumber','addVariables','toLowerVariables','YYYY-MM-DD\x20HH:mm:ss','channelAgent','destconnectedlinenum','calleridnum','user:%s','user:agentconnect','[originated][increment]','OriginateError','[originateFailure][logOriginateFailure]','logLookAgent','clone','isFailure','response','unlockContact','idContact','[callProgressDetectingAgent][logAnswer]','cause','[syncHangup][talking][cause]','statedesc','dialQueueProject','reason','transfer','[syncHangup][talking][transfer]','callProgressDetectingCustomer','syncDialEnd','destuniqueid','variables','filterKey','keys','addVariable','value','error','[syncVarSet][Preview]','inspect','syncAttendedTransfer','transfertargetlinkedid','transfererlinkedid','exports','util','bluebird','uuid','md5','ioredis','../../../config/environment','../../../config/logger','preview','actionPreview','../ami','./action','./util/util','redis','defaults','localhost','socket.io-emitter','prototype','enqueue','tail','finally','sequence','campaignsPreview','voiceQueues','trunks','actions','agents','clockClearZombieChannels','originateresponse','syncOriginateResponse','bind','hangup','syncHangup','hanguprequest','dialend','syncNewExten','varset','syncVarSet','syncBlindTransfer','loopCampaigns','emit','type','name','strategy','answered','available','loggedIn','pTalking','sumHoldTime','talking','unmanaged','abandoned','waiting','loggedInDb','dialActive','dialMethod','dialOriginateCallerIdName','dialOriginateTimeout','dialPrefix','outboundAnswerCallsDay','outboundBlacklistCallsDay','outboundCongestionCallsDay','outboundDropCallsDayACS','outboundDropCallsDayCallersExit','outboundDropCallsDayTimeout','outboundNoAnswerCallsDay','outboundNoSuchCallsDay','outboundReCallsDay','outboundRejectCallsDay','outboundUnknownCallsDay','outboundAbandonedCallsDay','predictiveIntervalAnsweredCalls','predictiveIntervalDroppedCallsCallersExit','predictiveIntervalDroppedCallsTimeout','predictiveIntervalErlangCalls','predictiveIntervalErlangCallsDroppedCalls','predictiveIntervalHitRate','predictiveIntervalMultiplicativeFactor','predictiveIntervalPauses','predictiveIntervalAvailable','predictiveIntervalTotalCalls','originated','erlangCalls','erlangBusyFactor','startPredictive','startProgressive','Trunk','active','callerid','Interval','stringify','[DEBUG]\x20Emit\x20voice_queue_channel:remove\x20event','format','voice_queue_channel:remove','sendMessageOneNotActive','paused','message','NOT_ACTIVE','[CampaignPreview]\x20Campaign\x20Queue:\x20','IS_DISACTIVED','logger','\x20is\x20disactive','syncCampaigns','hasOwnProperty','booked','clearZombieChannels','outbound','recallMe','clearZombieChannel','isNil','info','[clearZombieChannels][talking]','queue','originated:\x20','dialAnswer','pick','contactId','UserId','VoiceQueueId','ListId','Action','status','channel','catch','No\x20such\x20channel','updateOriginated','[clearZombieChannel]','decrementTalkink','loggerError','[Dialer][checkChannel][pTalking][Preview]','size','agentReadyId','then','getDiff','scheduledat','dialRecallMeTimeout','Agent','voicePause','logger2','[RecallMe]','starttime','logCustomer','RecallInQueue','dialRecallInQueue','rescheduleContactInQueue','createBody','createCustomerHistory','[HistoryDialRecallInQueue][historyCatch]','RecallFailedTimeout','[HistoryRecallClose]','createCustomerFinal','[getContactRecallMe]','IsNotLoggedIn','AGENTS_NOT_LOGGED','isActive','isTrunkReachable','TrunkBackup','TRUNK_IS_NOT_REACHABLE','ACTIVE','countnosuchnumberretry','countglobal','totalGlobal','NoSuchNumber','custom:agentnosuchnumber','buildObj','[callProgressDetectingCustomer][logNoSuch]','dialGlobalMaxRetry','cloneAction','Global','[callProgressDetectingCustomer][logNoSuchGlobal]','dialNoSuchNumberMaxRetry','rescheduleContact','scheduledAt','dialNoSuchNumberRetryFrequency','unlockAgent','activeContact','linkedid','ANSWER','responsetime','answertime','[syncHangup][talking][increment]','uniqueid','\x20Queue','custom:agentconnect','connect','buildAcw','custom:agentcomplete','complete','total','Answer','[callProgressDetectingCustomer][logAnswerGlobal]','crateCustomerReportQueue','sumBillable','talktime','[syncHangup][talking][decrement]','pTalking:\x20','BUSY','outboundBusyCallsDay','countbusyretry','busy','dialBusyRetryFrequency','NoAnswer','custom:agentnoanswer','[callProgressDetectingCustomer][logNoAnswer]','[callProgressDetectingCustomer][logNoAnswerGlobal]','dialNoAnswerRetryFrequency','CONGESTION','countcongestionretry','Congestion','custom:agentcongestion','[callProgressDetectingCustomer][logCongestion]','CANCEL','countagentrejectretry','AgentReject','custom:agentreject','agentreject','[syncHangupRequest][logAgentReject]','dialAgentRejectMaxRetry','[callProgressDetectingCustomer][logAgentReject]','dialAgentRejectRetryFrequency','countabandonedretry','Abandoned','[callProgressDetectingCustomer][logAbandoned]','countabandonedetry','dialAbandonedMaxRety','countmachineretry','custom:amd','amd','[callProgressDetectingCustomer][hangupInAMD]','[callProgressDetectingCustomer][machine]','[default]','cause-txt','dialstatus','[callProgressDetectingCustomer][logUnknown]','[callProgressDetectingCustomer][logUnknownGlobal]','[originated][decrement][callProgressDetectingCustomer]','destlinkedid','callProgressDetectingAgent','isUndefined','object','logAgent','createAgentHistory','[callProgressDetectingAgent][logNoSuch]','[callProgressDetectingAgent][logNoAnswer]','Busy','[callProgressDetectingAgent][logBusy]','[callProgressDetectingAgent][logCongestion]','AnswerAGI','[callProgressDetectingAgent][logAnswerAGI]','[callProgressDetectingAgent]','checkInBlack','Contact','phone','Contact\x20is\x20undefined','lookAgent','isEmpty','execCall','[Preview][execCall][success]','\x20IdHopper:\x20','custom:agentcalled','called','[Preview][execCall][failure]','Call\x20failed','logBlacklist','createHistory','[Blacklist][error]','Contact\x20in\x20black\x20List','SIP/%s','reachable','run','disableContact','execRun','getContactPreview','recallme','isValid','checkIsBlackList','Contact.phone','[Preview][checkIsBlackList]','Call\x20unsuccessful','validateContact','Empty\x20Contact'];(function(_0x4ce960,_0x4258e9){var _0x43a9d1=function(_0xc221e3){while(--_0xc221e3){_0x4ce960['push'](_0x4ce960['shift']());}};_0x43a9d1(++_0x4258e9);}(_0xb9aa,0x194));var _0xab9a=function(_0x4980ac,_0x26aff1){_0x4980ac=_0x4980ac-0x0;var _0x5ad074=_0xb9aa[_0x4980ac];return _0x5ad074;};'use strict';var util=require(_0xab9a('0x0'));var _=require('lodash');var BPromise=require(_0xab9a('0x1'));var uuid=require(_0xab9a('0x2'));var moment=require('moment');var md5=require(_0xab9a('0x3'));var Redis=require(_0xab9a('0x4'));var config=require(_0xab9a('0x5'));var logger=require(_0xab9a('0x6'))(_0xab9a('0x7'));var loggerAction=require(_0xab9a('0x6'))(_0xab9a('0x8'));var ami=require(_0xab9a('0x9'));var rpcDb=require('./rpcDb');var Action=require(_0xab9a('0xa'));var ut=require(_0xab9a('0xb'));config[_0xab9a('0xc')]=_[_0xab9a('0xd')](config[_0xab9a('0xc')],{'host':_0xab9a('0xe'),'port':0x18eb});var io=require(_0xab9a('0xf'))(new Redis(config['redis']));var Sequence=function(){};Sequence[_0xab9a('0x10')][_0xab9a('0x11')]=function(_0x5ed120){this[_0xab9a('0x12')]=this['tail']?this[_0xab9a('0x12')][_0xab9a('0x13')](_0x5ed120):_0x5ed120();};function Preview(_0x8f96e7){this[_0xab9a('0x14')]=new Sequence();this[_0xab9a('0x15')]=_0x8f96e7[_0xab9a('0x16')];this[_0xab9a('0x17')]=_0x8f96e7[_0xab9a('0x17')];this[_0xab9a('0x18')]={};this[_0xab9a('0x19')]=_0x8f96e7[_0xab9a('0x19')];this[_0xab9a('0x1a')]=0x0;ami['on'](_0xab9a('0x1b'),this[_0xab9a('0x1c')][_0xab9a('0x1d')](this));ami['on'](_0xab9a('0x1e'),this[_0xab9a('0x1f')][_0xab9a('0x1d')](this));ami['on'](_0xab9a('0x20'),this['syncHangupRequest'][_0xab9a('0x1d')](this));ami['on'](_0xab9a('0x21'),this['syncDialEnd']['bind'](this));ami['on']('newexten',this[_0xab9a('0x22')][_0xab9a('0x1d')](this));ami['on'](_0xab9a('0x23'),this[_0xab9a('0x24')][_0xab9a('0x1d')](this));ami['on']('attendedtransfer',this['syncAttendedTransfer'][_0xab9a('0x1d')](this));ami['on']('blindtransfer',this[_0xab9a('0x25')][_0xab9a('0x1d')](this));this[_0xab9a('0x26')](this[_0xab9a('0x15')]);}function emit(_0x282801,_0x2860e5,_0x5eeee4){io['to'](_0x282801)[_0xab9a('0x27')](_0x2860e5,_0x5eeee4);}function emitCampaignPreview(_0x4b7eb0){if(_0x4b7eb0[_0xab9a('0x28')]==='outbound'){var _0x116425={'id':_0x4b7eb0['id'],'name':_0x4b7eb0[_0xab9a('0x29')],'strategy':_0x4b7eb0[_0xab9a('0x2a')],'answered':_0x4b7eb0[_0xab9a('0x2b')],'available':_0x4b7eb0[_0xab9a('0x2c')],'loggedIn':_0x4b7eb0[_0xab9a('0x2d')],'pTalking':_0x4b7eb0[_0xab9a('0x2e')],'sumBillable':_0x4b7eb0['sumBillable'],'sumDuration':_0x4b7eb0['sumDuration'],'sumHoldTime':_0x4b7eb0[_0xab9a('0x2f')]||0x0,'talking':_0x4b7eb0[_0xab9a('0x30')],'total':_0x4b7eb0['total'],'type':_0x4b7eb0[_0xab9a('0x28')],'unmanaged':_0x4b7eb0[_0xab9a('0x31')],'abandoned':_0x4b7eb0[_0xab9a('0x32')],'waiting':_0x4b7eb0[_0xab9a('0x33')],'loggedInDb':_0x4b7eb0[_0xab9a('0x34')],'dialActive':_0x4b7eb0[_0xab9a('0x35')],'dialMethod':_0x4b7eb0[_0xab9a('0x36')],'dialOriginateCallerIdName':_0x4b7eb0[_0xab9a('0x37')],'dialOriginateCallerIdNumber':_0x4b7eb0['dialOriginateCallerIdNumber'],'dialOriginateTimeout':_0x4b7eb0[_0xab9a('0x38')],'dialPrefix':_0x4b7eb0[_0xab9a('0x39')],'outboundAnswerAgiCallsDay':_0x4b7eb0['outboundAnswerAgiCallsDay'],'outboundAnswerCallsDay':_0x4b7eb0[_0xab9a('0x3a')],'outboundBlacklistCallsDay':_0x4b7eb0[_0xab9a('0x3b')],'outboundBusyCallsDay':_0x4b7eb0['outboundBusyCallsDay'],'outboundCongestionCallsDay':_0x4b7eb0[_0xab9a('0x3c')],'outboundDropCallsDayACS':_0x4b7eb0[_0xab9a('0x3d')],'outboundDropCallsDayCallersExit':_0x4b7eb0[_0xab9a('0x3e')],'outboundDropCallsDayTimeout':_0x4b7eb0[_0xab9a('0x3f')],'outboundNoAnswerCallsDay':_0x4b7eb0[_0xab9a('0x40')],'outboundNoSuchCallsDay':_0x4b7eb0[_0xab9a('0x41')],'outboundOriginateFailureCallsDay':_0x4b7eb0['outboundOriginateFailureCallsDay'],'outboundReCallsDay':_0x4b7eb0[_0xab9a('0x42')],'outboundRejectCallsDay':_0x4b7eb0[_0xab9a('0x43')],'outboundUnknownCallsDay':_0x4b7eb0[_0xab9a('0x44')],'outboundAbandonedCallsDay':_0x4b7eb0[_0xab9a('0x45')],'predictiveIntervalAnsweredCalls':_0x4b7eb0[_0xab9a('0x46')],'predictiveIntervalAvgHoldtime':_0x4b7eb0['predictiveIntervalAvgHoldtime'],'predictiveIntervalAvgTalktime':_0x4b7eb0['predictiveIntervalAvgTalktime'],'predictiveIntervalDroppedCallsCallersExit':_0x4b7eb0[_0xab9a('0x47')],'predictiveIntervalDroppedCallsTimeout':_0x4b7eb0[_0xab9a('0x48')],'predictiveIntervalErlangCalls':_0x4b7eb0[_0xab9a('0x49')],'predictiveIntervalErlangCallsDroppedCalls':_0x4b7eb0[_0xab9a('0x4a')],'predictiveIntervalHitRate':_0x4b7eb0[_0xab9a('0x4b')],'predictiveIntervalMultiplicativeFactor':_0x4b7eb0[_0xab9a('0x4c')],'predictiveIntervalPauses':_0x4b7eb0[_0xab9a('0x4d')],'predictiveIntervalAvailable':_0x4b7eb0[_0xab9a('0x4e')],'predictiveIntervalTotalCalls':_0x4b7eb0[_0xab9a('0x4f')],'message':_0x4b7eb0['message'],'originated':_0x4b7eb0[_0xab9a('0x50')],'erlangCalls':_0x4b7eb0[_0xab9a('0x51')],'erlangCallToSecond':_0x4b7eb0['erlangCallToSecond'],'erlangAbandonmentRate':_0x4b7eb0['erlangAbandonmentRate'],'erlangBusyFactor':_0x4b7eb0[_0xab9a('0x52')],'startPredictive':_0x4b7eb0[_0xab9a('0x53')],'startProgressive':_0x4b7eb0[_0xab9a('0x54')]};if(_0x4b7eb0[_0xab9a('0x55')]){_0x116425[_0xab9a('0x55')]={'id':_0x4b7eb0[_0xab9a('0x55')]['id'],'name':_0x4b7eb0[_0xab9a('0x55')][_0xab9a('0x29')],'active':_0x4b7eb0['Trunk'][_0xab9a('0x56')],'callerid':_0x4b7eb0[_0xab9a('0x55')][_0xab9a('0x57')]};}if(_0x4b7eb0['Interval']){_0x116425['Interval']={'id':_0x4b7eb0[_0xab9a('0x58')]['id'],'name':_0x4b7eb0[_0xab9a('0x58')][_0xab9a('0x29')]};}var _0x3a77bc=md5(JSON[_0xab9a('0x59')](_0x116425));if(_0x4b7eb0[_0xab9a('0x3')]!==_0x3a77bc){_0x4b7eb0[_0xab9a('0x3')]=_0x3a77bc;emit(util['format']('voice:queue:%s',_0x116425[_0xab9a('0x29')]),'voice_queue:save',_0x116425);}}}function emitVoiceQueueChannelRemove(_0x42d666){logger['info'](_0xab9a('0x5a'),JSON[_0xab9a('0x59')](_0x42d666));emit(util[_0xab9a('0x5b')]('voice:queue:%s',_0x42d666['name']),_0xab9a('0x5c'),_0x42d666);io[_0xab9a('0x27')]('voice_queue_presence:remove',_0x42d666);}function notSendMessagesQueue(_0x1d5943){if(_0x1d5943[_0xab9a('0x5d')]){if(_0x1d5943[_0xab9a('0x50')]===0x0&&_0x1d5943['pTalking']===0x0){_0x1d5943[_0xab9a('0x5d')]=![];_0x1d5943[_0xab9a('0x2c')]=0x0;_0x1d5943[_0xab9a('0x5e')]=0x0;_0x1d5943[_0xab9a('0x5f')]=_0xab9a('0x60');ut['logger'](_0xab9a('0x61'),_0x1d5943[_0xab9a('0x29')]+'\x20is\x20not\x20active');}else{_0x1d5943[_0xab9a('0x5f')]=_0xab9a('0x62');ut[_0xab9a('0x63')](_0xab9a('0x61'),_0x1d5943[_0xab9a('0x29')]+_0xab9a('0x64'));}emitCampaignPreview(_0x1d5943);}}Preview['prototype'][_0xab9a('0x26')]=function(){var _0x251049=this;setInterval(function(){_0x251049['syncCampaigns']();},0x7cf);};Preview['prototype'][_0xab9a('0x65')]=function(){var _0x365f3d=this[_0xab9a('0x15')];this[_0xab9a('0x1a')]+=0x1;for(var _0x5684fc in _0x365f3d){if(_0x365f3d[_0xab9a('0x66')](_0x5684fc)&&(_0x365f3d[_0x5684fc]['dialMethod']===_0xab9a('0x7')||_0x365f3d[_0x5684fc][_0xab9a('0x36')]===_0xab9a('0x67'))&&_0x365f3d[_0x5684fc][_0xab9a('0x28')]==='outbound'){if(this[_0xab9a('0x1a')]>0x7){this[_0xab9a('0x1a')]=0x0;this[_0xab9a('0x68')]();}}if(_0x365f3d[_0xab9a('0x66')](_0x5684fc)&&_0x365f3d[_0x5684fc]['dialMethod']===_0xab9a('0x7')&&_0x365f3d[_0x5684fc][_0xab9a('0x28')]===_0xab9a('0x69')){if(_0x365f3d[_0x5684fc][_0xab9a('0x35')]){this['setMessage'](_0x365f3d[_0x5684fc]);this[_0xab9a('0x6a')](_0x365f3d[_0x5684fc]);}else{notSendMessagesQueue(_0x365f3d[_0x5684fc]);}}}};Preview[_0xab9a('0x10')][_0xab9a('0x6b')]=function(_0x1548e4){var _0x215735=this;this[_0xab9a('0x14')][_0xab9a('0x11')](function(){if(!_[_0xab9a('0x6c')](_0x215735[_0xab9a('0x18')][_0x1548e4])){loggerAction[_0xab9a('0x6d')](_0xab9a('0x6e'),_0x1548e4,'Queue',_0x215735['actions'][_0x1548e4][_0xab9a('0x6f')],_0xab9a('0x70'),JSON[_0xab9a('0x59')](_0x215735[_0xab9a('0x15')][_0x215735[_0xab9a('0x18')][_0x1548e4][_0xab9a('0x6f')]]['originated']),'pTalking:\x20',JSON[_0xab9a('0x59')](_0x215735[_0xab9a('0x15')][_0x215735[_0xab9a('0x18')][_0x1548e4]['queue']]['pTalking']),JSON[_0xab9a('0x59')](_0x215735[_0xab9a('0x18')][_0x1548e4][_0xab9a('0x71')]),JSON['stringify'](_[_0xab9a('0x72')](_0x215735[_0xab9a('0x18')][_0x1548e4],[_0xab9a('0x73'),_0xab9a('0x74'),_0xab9a('0x75'),_0xab9a('0x76')])));return ami[_0xab9a('0x77')]({'action':_0xab9a('0x78'),'channel':_0x215735[_0xab9a('0x18')][_0x1548e4][_0xab9a('0x79')]})[_0xab9a('0x7a')](function(_0x3057a1){if(_0x3057a1['message']===_0xab9a('0x7b')){setTimeout(function(){if(_0x215735[_0xab9a('0x18')][_0x1548e4]){ut[_0xab9a('0x7c')](_0x215735[_0xab9a('0x15')][_0x215735[_0xab9a('0x18')][_0x1548e4][_0xab9a('0x6f')]],_0xab9a('0x7d'));if(_0x215735[_0xab9a('0x18')][_0x1548e4][_0xab9a('0x71')]===!![]){ut[_0xab9a('0x7e')](_0x215735[_0xab9a('0x15')][_0x215735[_0xab9a('0x18')][_0x1548e4]['queue']],_0xab9a('0x7d'));ut[_0xab9a('0x7f')](_0xab9a('0x80')+_0x1548e4,_0x215735[_0xab9a('0x18')][_0x1548e4][_0xab9a('0x6f')]);}ut[_0xab9a('0x7f')]('[Dialer][checkChannel][Preview]'+_0x1548e4,_0x215735[_0xab9a('0x18')][_0x1548e4][_0xab9a('0x6f')]);delete _0x215735['actions'][_0x1548e4];}},0x2328);}});}});};Preview[_0xab9a('0x10')][_0xab9a('0x68')]=function(){var _0x516bc5=this;loggerAction[_0xab9a('0x6d')]('[action]',_[_0xab9a('0x81')](this[_0xab9a('0x18')]));for(var _0x5c0781 in this['actions']){if(_0x516bc5[_0xab9a('0x18')][_0xab9a('0x66')](_0x5c0781)){_0x516bc5[_0xab9a('0x6b')](_0x5c0781);}}};Preview[_0xab9a('0x10')][_0xab9a('0x6a')]=function(_0x338f00){var _0x40d563=this;rpcDb['getContactRecallMe'](_0x338f00['id'],ut[_0xab9a('0x82')](this[_0xab9a('0x19')]))[_0xab9a('0x83')](function(_0x379348){if(!_[_0xab9a('0x6c')](_0x379348)){for(var _0x1ad23d=0x0;_0x1ad23d<_0x379348['length'];_0x1ad23d+=0x1){if(ut[_0xab9a('0x84')](_0x379348[_0x1ad23d][_0xab9a('0x85')])<_0x338f00[_0xab9a('0x86')]*0x3c){if(_0x379348[_0x1ad23d][_0xab9a('0x87')]&&!_0x379348[_0x1ad23d][_0xab9a('0x87')][_0xab9a('0x88')]){_0x40d563['run'](_0x379348[_0x1ad23d]['id'])[_0xab9a('0x83')](ut[_0xab9a('0x89')](_0xab9a('0x8a')))['catch'](ut[_0xab9a('0x89')](_0xab9a('0x8a')));}else{rpcDb['disableContact'](_0x379348[_0x1ad23d]['id']);}}else{var _0x1a7a30=new Action(_0x379348[_0x1ad23d],_0x338f00);_0x1a7a30[_0xab9a('0x8b')]=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');_0x338f00['outboundReCallsDay']+=0x1;ut[_0xab9a('0x8c')](_0x1a7a30,0x17,_0xab9a('0x8d'));if(_0x338f00[_0xab9a('0x8e')]){rpcDb[_0xab9a('0x8f')](ut[_0xab9a('0x90')](_0x379348[_0x1ad23d]));rpcDb[_0xab9a('0x91')](_0x1a7a30,_0xab9a('0x92'));}else{ut['logCustomer'](_0x1a7a30,0x16,_0xab9a('0x93'));rpcDb['createCustomerHistory'](_0x1a7a30,_0xab9a('0x94'));rpcDb[_0xab9a('0x95')](_0x1a7a30,_0xab9a('0x94'));}}}}})[_0xab9a('0x7a')](ut['logger2'](_0xab9a('0x96')));};Preview[_0xab9a('0x10')]['setMessage']=function(_0xac6539){_0xac6539[_0xab9a('0x5d')]=!![];if(ut[_0xab9a('0x97')](_0xac6539[_0xab9a('0x2d')])){_0xac6539[_0xab9a('0x5f')]=_0xab9a('0x98');}else if(!ut[_0xab9a('0x99')](_0xac6539[_0xab9a('0x35')])){_0xac6539['message']=_0xab9a('0x60');}else if(!this[_0xab9a('0x9a')](_0xac6539[_0xab9a('0x55')])){if(!this[_0xab9a('0x9a')](_0xac6539[_0xab9a('0x9b')])){_0xac6539['message']=_0xab9a('0x9c');}else{_0xac6539['message']=_0xab9a('0x9d');}}else{_0xac6539[_0xab9a('0x5f')]='ACTIVE';}emitCampaignPreview(_0xac6539);};Preview[_0xab9a('0x10')]['callProgressDetectingCustomer']=function(_0xa58d7,_0x59aa51,_0x17f43b){var _0x1af285=this;var _0x1f6ada=this[_0xab9a('0x18')][_0x59aa51];var _0x53f371=this[_0xab9a('0x15')][_0x1f6ada[_0xab9a('0x6f')]];var _0x41915d;if(_0x53f371){switch(_0x17f43b){case'1':_0x53f371['outboundNoSuchCallsDay']+=0x1;_0x1f6ada[_0xab9a('0x9e')]+=0x1;_0x1f6ada[_0xab9a('0x9f')]=ut[_0xab9a('0xa0')](_0x1f6ada);ut[_0xab9a('0x8c')](_0x1f6ada,0x0,_0xab9a('0xa1'));ami['emit'](_0xab9a('0xa2'),ut[_0xab9a('0xa3')](_0x1f6ada,'nosuchnumber'));rpcDb[_0xab9a('0x91')](_0x1f6ada,_0xab9a('0xa4'));if(ut[_0xab9a('0xa0')](_0x1f6ada)>=_0x53f371[_0xab9a('0xa5')]){_0x41915d=ut[_0xab9a('0xa6')](_0x1f6ada,0xf,_0xab9a('0xa7'));rpcDb['createCustomerFinal'](_0x41915d,_0xab9a('0xa8'));}else{if(_0x1f6ada[_0xab9a('0x9e')]>=_0x53f371[_0xab9a('0xa9')]){rpcDb['createCustomerFinal'](_0x1f6ada,_0xab9a('0xa8'));}else{rpcDb[_0xab9a('0xaa')](ut[_0xab9a('0xab')](_0x1f6ada,_0xab9a('0x9e'),_0x53f371[_0xab9a('0xac')]),_0x1f6ada[_0xab9a('0xad')],_0x1f6ada[_0xab9a('0xae')]);}}delete this[_0xab9a('0x18')][_0xa58d7[_0xab9a('0xaf')]];break;case _0xab9a('0xb0'):var _0x317b11=moment()[_0xab9a('0x5b')]('YYYY-MM-DD\x20HH:mm:ss');_0x1f6ada[_0xab9a('0xb1')]=_0x317b11;_0x1f6ada[_0xab9a('0xb2')]=_0x317b11;_0x1f6ada[_0xab9a('0x71')]=!![];_0x53f371[_0xab9a('0x2e')]+=0x1;logger['info'](_0xab9a('0xb3'),_0x1f6ada[_0xab9a('0xb4')],_0xab9a('0xb5'),_0x53f371[_0xab9a('0x29')],'pTalking:\x20',_0x53f371[_0xab9a('0x2e')]);ami[_0xab9a('0x27')](_0xab9a('0xb6'),ut[_0xab9a('0xa3')](_0x1f6ada,_0xab9a('0xb7'),this[_0xab9a('0x15')][_0x1f6ada['queue']]));if(_0x53f371['acw']){ami[_0xab9a('0x27')]('custom:agentConnectPreview',ut[_0xab9a('0xb8')](_0x1f6ada));}break;case'16':ami[_0xab9a('0x27')](_0xab9a('0xb9'),ut[_0xab9a('0xa3')](_0x1f6ada,_0xab9a('0xba'),this[_0xab9a('0x15')][_0x1f6ada[_0xab9a('0x6f')]]));emitVoiceQueueChannelRemove(ut[_0xab9a('0xa3')](_0x1f6ada,'complete'));_0x53f371[_0xab9a('0x3a')]+=0x1;_0x53f371[_0xab9a('0xbb')]+=0x1;_0x53f371[_0xab9a('0x2b')]+=0x1;ut['decrementTalkink'](_0x53f371,'[16]');_0x1f6ada[_0xab9a('0x9f')]=ut[_0xab9a('0xa0')](_0x1f6ada);ut[_0xab9a('0x8c')](_0x1f6ada,0x4,_0xab9a('0xbc'));rpcDb['createCustomerHistory'](_0x1f6ada,'[callProgressDetectingCustomer][logAnswer]');rpcDb[_0xab9a('0x95')](_0x1f6ada,_0xab9a('0xbd'));rpcDb[_0xab9a('0xbe')](_0x1f6ada);_0x53f371['sumDuration']+=_0x1f6ada['talktime'];_0x53f371[_0xab9a('0xbf')]+=_0x1f6ada[_0xab9a('0xc0')];logger[_0xab9a('0x6d')](_0xab9a('0xc1'),_0x1f6ada[_0xab9a('0xb4')],_0xab9a('0xb5'),_0x53f371[_0xab9a('0x29')],_0xab9a('0xc2'),_0x53f371['pTalking']);delete this[_0xab9a('0x18')][_0xa58d7['linkedid']];break;case _0xab9a('0xc3'):_0x53f371[_0xab9a('0xc4')]+=0x1;_0x1f6ada[_0xab9a('0xc5')]+=0x1;_0x1f6ada[_0xab9a('0x9f')]=ut['totalGlobal'](_0x1f6ada);ut[_0xab9a('0x8c')](_0x1f6ada,0x5,'Busy');ami['emit']('custom:agentbusy',ut[_0xab9a('0xa3')](_0x1f6ada,_0xab9a('0xc6')));rpcDb['createCustomerHistory'](_0x1f6ada,'[callProgressDetectingCustomer][logBusy]');if(ut['totalGlobal'](_0x1f6ada)>=_0x53f371[_0xab9a('0xa5')]){_0x41915d=ut[_0xab9a('0xa6')](_0x1f6ada,0xf,_0xab9a('0xa7'));rpcDb[_0xab9a('0x95')](_0x41915d,'[callProgressDetectingCustomer][logBusyGlobal]');}else{if(_0x1f6ada[_0xab9a('0xc5')]>=_0x53f371['dialBusyMaxRetry']){rpcDb[_0xab9a('0x95')](_0x1f6ada,'[callProgressDetectingCustomer][logBusy]');}else{rpcDb['rescheduleContact'](ut[_0xab9a('0xab')](_0x1f6ada,_0xab9a('0xc5'),_0x53f371[_0xab9a('0xc7')]),_0x1f6ada[_0xab9a('0xad')],_0x1f6ada['activeContact']);}}break;case'NOANSWER':_0x53f371['outboundNoAnswerCallsDay']+=0x1;_0x1f6ada['countnoanswerretry']+=0x1;_0x1f6ada[_0xab9a('0x9f')]=ut[_0xab9a('0xa0')](_0x1f6ada);ut[_0xab9a('0x8c')](_0x1f6ada,0x3,_0xab9a('0xc8'));ami[_0xab9a('0x27')](_0xab9a('0xc9'),ut[_0xab9a('0xa3')](_0x1f6ada,'noanswer'));rpcDb[_0xab9a('0x91')](_0x1f6ada,_0xab9a('0xca'));if(ut[_0xab9a('0xa0')](_0x1f6ada)>=_0x53f371[_0xab9a('0xa5')]){_0x41915d=ut[_0xab9a('0xa6')](_0x1f6ada,0xf,_0xab9a('0xa7'));rpcDb[_0xab9a('0x95')](_0x41915d,_0xab9a('0xcb'));}else{if(_0x1f6ada['countnoanswerretry']>=_0x53f371['dialNoAnswerMaxRetry']){rpcDb['createCustomerFinal'](_0x1f6ada,_0xab9a('0xca'));}else{rpcDb[_0xab9a('0xaa')](ut[_0xab9a('0xab')](_0x1f6ada,'countnoanswerretry',_0x53f371[_0xab9a('0xcc')]),_0x1f6ada['unlockAgent'],_0x1f6ada[_0xab9a('0xae')]);}}break;case _0xab9a('0xcd'):_0x53f371[_0xab9a('0x3c')]+=0x1;_0x1f6ada[_0xab9a('0xce')]+=0x1;_0x1f6ada[_0xab9a('0x9f')]=ut[_0xab9a('0xa0')](_0x1f6ada);ut[_0xab9a('0x8c')](_0x1f6ada,0x8,_0xab9a('0xcf'));ami[_0xab9a('0x27')](_0xab9a('0xd0'),ut[_0xab9a('0xa3')](_0x1f6ada,'congestion'));rpcDb[_0xab9a('0x91')](_0x1f6ada,_0xab9a('0xd1'));if(ut[_0xab9a('0xa0')](_0x1f6ada)>=_0x53f371['dialGlobalMaxRetry']){_0x41915d=ut[_0xab9a('0xa6')](_0x1f6ada,0xf,_0xab9a('0xa7'));rpcDb[_0xab9a('0x95')](_0x41915d,'[callProgressDetectingCustomer][logCongestionGlobal]');}else{if(_0x1f6ada[_0xab9a('0xce')]>=_0x53f371['dialCongestionMaxRetry']){rpcDb[_0xab9a('0x95')](_0x1f6ada,'[callProgressDetectingCustomer][logCongestion]');}else{rpcDb[_0xab9a('0xaa')](ut['scheduledAt'](_0x1f6ada,_0xab9a('0xce'),_0x53f371[_0xab9a('0xc7')]),_0x1f6ada['unlockAgent'],_0x1f6ada[_0xab9a('0xae')]);}}break;case _0xab9a('0xd2'):_0x53f371[_0xab9a('0x43')]+=0x1;_0x1f6ada[_0xab9a('0xd3')]+=0x1;_0x1f6ada['countglobal']=ut[_0xab9a('0xa0')](_0x1f6ada);ut['logCustomer'](_0x1f6ada,0x14,_0xab9a('0xd4'));ami[_0xab9a('0x27')](_0xab9a('0xd5'),ut[_0xab9a('0xa3')](_0x1f6ada,_0xab9a('0xd6')));rpcDb['createCustomerHistory'](_0x1f6ada,_0xab9a('0xd7'));if(ut[_0xab9a('0xa0')](_0x1f6ada)>=_0x53f371['dialGlobalMaxRetry']){_0x41915d=ut['cloneAction'](_0x1f6ada,0x14,_0xab9a('0xd4'));rpcDb['createCustomerFinal'](_0x41915d,'[callProgressDetectingCustomer][logAgentReject]');}else{if(_0x1f6ada[_0xab9a('0xd3')]>=_0x53f371[_0xab9a('0xd8')]){rpcDb[_0xab9a('0x95')](_0x1f6ada,_0xab9a('0xd9'));}else{rpcDb['rescheduleContact'](ut[_0xab9a('0xab')](_0x1f6ada,_0xab9a('0xd3'),_0x53f371[_0xab9a('0xda')]),_0x1f6ada[_0xab9a('0xad')],_0x1f6ada[_0xab9a('0xae')]);}}break;case'ABANDONED':_0x53f371[_0xab9a('0x45')]+=0x1;_0x1f6ada[_0xab9a('0xdb')]+=0x1;_0x1f6ada[_0xab9a('0x9f')]=ut[_0xab9a('0xa0')](_0x1f6ada);ut['logCustomer'](_0x1f6ada,0xb,_0xab9a('0xdc'));rpcDb[_0xab9a('0x91')](_0x1f6ada,'[callProgressDetectingCustomer][logAbandoned]');if(ut['totalGlobal'](_0x1f6ada)>=_0x53f371[_0xab9a('0xa5')]){_0x41915d=ut['cloneAction'](_0x1f6ada,0xf,_0xab9a('0xa7'));rpcDb[_0xab9a('0x95')](_0x41915d,_0xab9a('0xdd'));}else{if(_0x1f6ada[_0xab9a('0xde')]>=_0x53f371[_0xab9a('0xdf')]){rpcDb[_0xab9a('0x95')](_0x1f6ada,'[callProgressDetectingCustomer][logAbandoned]');}else{rpcDb[_0xab9a('0xaa')](ut[_0xab9a('0xab')](_0x1f6ada,_0xab9a('0xdb'),_0x53f371['dialAbandonedRetryFrequency']),_0x1f6ada[_0xab9a('0xad')],_0x1f6ada['activeContact']);}}break;case'18':_0x53f371[_0xab9a('0x44')]+=0x1;_0x1f6ada[_0xab9a('0xe0')]+=0x1;_0x1f6ada['countglobal']=ut[_0xab9a('0xa0')](_0x1f6ada);ut[_0xab9a('0x8c')](_0x1f6ada,0x12,_0xa58d7['cause-txt']||_0xa58d7['dialstatus']);ami[_0xab9a('0x27')](_0xab9a('0xe1'),ut[_0xab9a('0xa3')](_0x1f6ada,_0xab9a('0xe2')));rpcDb[_0xab9a('0x91')](_0x1f6ada,_0xab9a('0xe3'));if(ut['totalGlobal'](_0x1f6ada)>=_0x53f371[_0xab9a('0xa5')]){_0x41915d=ut[_0xab9a('0xa6')](_0x1f6ada,0xf,_0xab9a('0xa7'));rpcDb['createCustomerFinal'](_0x41915d,_0xab9a('0xe3'));}else{rpcDb[_0xab9a('0x95')](_0x1f6ada,_0xab9a('0xe3'));}delete this[_0xab9a('0x18')][_0xa58d7[_0xab9a('0xaf')]];break;case'19':_0x53f371[_0xab9a('0x44')]+=0x1;_0x1f6ada[_0xab9a('0x9f')]=ut['totalGlobal'](_0x1f6ada);ut[_0xab9a('0x8c')](_0x1f6ada,0x13,_0xa58d7['cause-txt']||_0xa58d7['dialstatus']);ami[_0xab9a('0x27')](_0xab9a('0xe1'),ut[_0xab9a('0xa3')](_0x1f6ada,_0xab9a('0xe2')));rpcDb['createCustomerHistory'](_0x1f6ada,_0xab9a('0xe4'));if(ut[_0xab9a('0xa0')](_0x1f6ada)>=_0x53f371['dialGlobalMaxRetry']){_0x41915d=ut['cloneAction'](_0x1f6ada,0xf,'Global');rpcDb[_0xab9a('0x95')](_0x41915d,'[callProgressDetectingCustomer][machine]');}else{rpcDb[_0xab9a('0x95')](_0x1f6ada,_0xab9a('0xe4'));}delete this[_0xab9a('0x18')][_0xa58d7[_0xab9a('0xaf')]];break;default:if(_0x1f6ada[_0xab9a('0x71')]){ut[_0xab9a('0x7e')](_0x53f371,_0xab9a('0xe5'));ut[_0xab9a('0x7f')]('[Dialer][decrementTalkink][no\x20Hangup][Preview]'+_0x53f371['name'],_0xa58d7);}_0x53f371[_0xab9a('0x44')]+=0x1;_0x1f6ada['countglobal']=ut['totalGlobal'](_0x1f6ada);ut[_0xab9a('0x8c')](_0x1f6ada,0xc,_0xa58d7[_0xab9a('0xe6')]||_0xa58d7[_0xab9a('0xe7')]);rpcDb['createCustomerHistory'](_0x1f6ada,_0xab9a('0xe8'));if(ut[_0xab9a('0xa0')](_0x1f6ada)>=_0x53f371[_0xab9a('0xa5')]){_0x41915d=ut[_0xab9a('0xa6')](_0x1f6ada,0xf,'Global');rpcDb['createCustomerFinal'](_0x41915d,_0xab9a('0xe9'));}else{rpcDb[_0xab9a('0x95')](_0x1f6ada,_0xab9a('0xe9'));}delete this['actions'][_0xa58d7[_0xab9a('0xaf')]];}if(!(_0x1f6ada['dialAnswer']&&_0x17f43b==='16')){ut[_0xab9a('0x7c')](_0x53f371,'[callProgressDetectingCustomer]');logger['info'](_0xab9a('0xea'),_0x1f6ada['uniqueid'],'\x20Queue',_0x53f371[_0xab9a('0x29')],_0xab9a('0x70'),_0x53f371[_0xab9a('0x50')]);}if(_0x17f43b!=='ANSWER'){delete this[_0xab9a('0x18')][_0xa58d7[_0xab9a('0xaf')]];delete this['actions'][_0xa58d7[_0xab9a('0xeb')]];}}};Preview[_0xab9a('0x10')][_0xab9a('0xec')]=function(_0x2ae963,_0x1893e8,_0x3aac21){if(_[_0xab9a('0xed')](_0x1893e8)&&_0xab9a('0xee')!==typeof _0x1893e8){return;}if(_[_0xab9a('0xed')](_0x3aac21)&&_0xab9a('0xee')!==typeof _0x3aac21){return;}switch(_0x3aac21['reason']){case'0':ut[_0xab9a('0xef')](_0x2ae963,0x0,_0xab9a('0xa1'));rpcDb[_0xab9a('0xf0')](_0x2ae963,_0xab9a('0xf1'));break;case'3':ut[_0xab9a('0xef')](_0x2ae963,0x3,_0xab9a('0xc8'));rpcDb[_0xab9a('0xf0')](_0x2ae963,_0xab9a('0xf2'));break;case'5':ut[_0xab9a('0xef')](_0x2ae963,0x5,_0xab9a('0xf3'));rpcDb[_0xab9a('0xf0')](_0x2ae963,_0xab9a('0xf4'));break;case'8':ut[_0xab9a('0xef')](_0x2ae963,0x8,'Congestion');rpcDb[_0xab9a('0xf0')](_0x2ae963,_0xab9a('0xf5'));break;case'22':ut[_0xab9a('0xef')](_0x2ae963,0x16,_0xab9a('0xf6'));rpcDb[_0xab9a('0xf0')](_0x2ae963,_0xab9a('0xf7'));break;default:ut['logAgent'](_0x2ae963,0xc,_0x3aac21['reason']);rpcDb[_0xab9a('0xf0')](_0x2ae963,_0xab9a('0xf5'));}ut[_0xab9a('0x7c')](_0x1893e8,_0xab9a('0xf8'));logger[_0xab9a('0x6d')]('[originated][decrement][callProgressDetectingAgent]',_0x2ae963['uniqueid'],_0xab9a('0xb5'),_0x1893e8[_0xab9a('0x29')],_0xab9a('0x70'),_0x1893e8[_0xab9a('0x50')]);delete this[_0xab9a('0x18')][_0x2ae963['uniqueid']];};Preview[_0xab9a('0x10')][_0xab9a('0xf9')]=function(_0x860fe5,_0x59d454,_0x3eed1d,_0x1d49e2,_0x224ad2){var _0x44a432=this;return new BPromise(function(_0x45240b,_0x5f1c43){if(_[_0xab9a('0x6c')](_0x59d454)||_['isNil'](_0x59d454[_0xab9a('0xfa')])||_['isNil'](_0x59d454[_0xab9a('0xfa')][_0xab9a('0xfb')])||_[_0xab9a('0x6c')](_0x59d454[_0xab9a('0x75')])){_0x5f1c43(ut['message'](_0xab9a('0xfc'),_0x1d49e2,_0x224ad2));return;}var _0xdc5b20=uuid['v4']();var _0x27e5ff=_0x44a432['campaignsPreview'][_0x59d454['Queue'][_0xab9a('0x29')]];var _0x419ba1=_0x3eed1d?_0x44a432[_0xab9a('0x19')][_0x3eed1d]['id']:undefined;_0x44a432[_0xab9a('0x18')][_0xdc5b20]=new Action(_0x59d454,_0x27e5ff,_0xdc5b20,_0x3eed1d,_0x419ba1);var _0x42a181=_0x44a432['actions'][_0xdc5b20];_0x42a181[_0xab9a('0xad')]=_0x1d49e2;_0x42a181['activeContact']=_0x224ad2;_0x42a181[_0xab9a('0xfd')]=_0x3eed1d;if(_[_0xab9a('0xfe')](_0x860fe5)){_0x44a432[_0xab9a('0xff')](_0x42a181,_0x27e5ff,_0x59d454,_0x3eed1d)[_0xab9a('0x83')](function(_0x2420a6){logger[_0xab9a('0x6d')](_0xab9a('0x100'),'Queue:\x20'+_0x42a181[_0xab9a('0x6f')]+_0xab9a('0x101')+_0x42a181['idContact'],JSON[_0xab9a('0x59')](_0x2420a6));ami[_0xab9a('0x27')](_0xab9a('0x102'),ut[_0xab9a('0xa3')](_0x42a181,_0xab9a('0x103'),_0x44a432[_0xab9a('0x15')][_0x42a181[_0xab9a('0x6f')]]));_0x45240b(ut['message']('Calling'));})[_0xab9a('0x7a')](function(_0x3bc034){ut[_0xab9a('0x63')](_0xab9a('0x104'),_0x3bc034);_0x5f1c43(ut[_0xab9a('0x5f')](_0xab9a('0x105'),_0x1d49e2,_0x224ad2));});}else{_0x27e5ff[_0xab9a('0x3b')]+=0x1;ut[_0xab9a('0x106')](_0x42a181);rpcDb[_0xab9a('0x107')](_0x42a181,_0xab9a('0x108'));delete _0x44a432[_0xab9a('0x18')][_0xdc5b20];_0x5f1c43(ut[_0xab9a('0x5f')](_0xab9a('0x109'),_0x1d49e2,_0x224ad2));}});};Preview[_0xab9a('0x10')][_0xab9a('0x9a')]=function(_0x2d3beb){return!_[_0xab9a('0x6c')](_0x2d3beb)&&!_['isNil'](_0x2d3beb[_0xab9a('0x29')])&&!_[_0xab9a('0x6c')](_0x2d3beb['active'])&&_0x2d3beb['active']&&!_[_0xab9a('0x6c')](this[_0xab9a('0x17')][util['format'](_0xab9a('0x10a'),_0x2d3beb[_0xab9a('0x29')])])&&!_[_0xab9a('0x6c')](this['trunks'][util[_0xab9a('0x5b')](_0xab9a('0x10a'),_0x2d3beb[_0xab9a('0x29')])][_0xab9a('0x78')])&&(this[_0xab9a('0x17')][util['format'](_0xab9a('0x10a'),_0x2d3beb[_0xab9a('0x29')])]['status']===_0xab9a('0x10b')||this[_0xab9a('0x17')][util[_0xab9a('0x5b')](_0xab9a('0x10a'),_0x2d3beb['name'])][_0xab9a('0x78')]==='unmonitored');};Preview['prototype'][_0xab9a('0x10c')]=function(_0x3f73ff,_0x10391b){var _0x5d8794=this;return new BPromise(function(_0x9a40a2,_0x4e527f){_0x5d8794['execRun'](_0x3f73ff,_0x10391b)[_0xab9a('0x83')](function(_0x36432e){_0x9a40a2(_['pick'](_0x36432e,[_0xab9a('0x5f')]));})[_0xab9a('0x7a')](function(_0x49ea29){if(_0x49ea29['unlock']){rpcDb['unlockContact'](_0x3f73ff);}if(_0x49ea29[_0xab9a('0x56')]){rpcDb[_0xab9a('0x10d')](_0x3f73ff);}_0x4e527f(_[_0xab9a('0x72')](_0x49ea29,[_0xab9a('0x5f')]));});});};Preview[_0xab9a('0x10')][_0xab9a('0x10e')]=function(_0x417a6d,_0x30be37){var _0x2ec4b5=this;return new BPromise(function(_0x15ab99,_0x4bebb5){var _0x1afe96,_0xc098ba;rpcDb[_0xab9a('0x10f')](_0x417a6d)[_0xab9a('0x83')](function(_0x55a8f8){if(!_[_0xab9a('0x6c')](_0x55a8f8[0x0])){_0xc098ba=_0x55a8f8[0x0][_0xab9a('0x110')]?![]:!![];_0x1afe96=_0x55a8f8[0x0][_0xab9a('0x110')]?!![]:![];_0x1afe96=_0x30be37?!![]:_0x1afe96;}var _0x2259d0=_0x2ec4b5['validateContact'](_0x55a8f8);if(_0x2259d0[_0xab9a('0x111')]){rpcDb[_0xab9a('0x112')](_['pick'](_0x55a8f8[0x0],['VoiceQueueId',_0xab9a('0x113')]))[_0xab9a('0x83')](function(_0x2685a9){_0x2ec4b5[_0xab9a('0xf9')](_0x2685a9,_0x55a8f8[0x0],_0x30be37,_0xc098ba,_0x1afe96)[_0xab9a('0x83')](function(_0xf7801b){_0x15ab99(_0xf7801b);})[_0xab9a('0x7a')](function(_0x5256ac){_0x4bebb5(_0x5256ac);});})[_0xab9a('0x7a')](function(_0x1cc6b8){ut[_0xab9a('0x63')](_0xab9a('0x114'),_0x1cc6b8);_0x4bebb5(ut['message'](_0xab9a('0x115'),_0xc098ba,_0x1afe96));});}else{_0x4bebb5(ut[_0xab9a('0x5f')](_0x2259d0[_0xab9a('0x5f')],_0xc098ba,_0x1afe96));}})[_0xab9a('0x7a')](function(_0x55d82b){ut[_0xab9a('0x63')]('[Preview][getContactPreview]',_0x55d82b);_0x4bebb5(ut['message'](_0xab9a('0x115'),![],!![]));});});};Preview[_0xab9a('0x10')][_0xab9a('0x116')]=function(_0x207323){if(_['isNil'](_0x207323)||_['isEmpty'](_0x207323)||!_[_0xab9a('0x6c')](_0x207323[0x0][_0xab9a('0x87')])&&_[_0xab9a('0x6c')](_0x207323[0x0][_0xab9a('0x87')][_0xab9a('0x29')])){ut[_0xab9a('0x63')]('[Preview][validateContact][Empty\x20Contact]',_0x207323);return{'isValid':![],'message':_0xab9a('0x117')};}var _0x1b8856=this[_0xab9a('0x15')][_0x207323[0x0][_0xab9a('0x118')][_0xab9a('0x29')]];_0x1b8856['message']='ACTIVE';if(_[_0xab9a('0x6c')](_0x1b8856)){ut[_0xab9a('0x63')](_0xab9a('0x119'),_0x1b8856);return{'isValid':![],'message':_0xab9a('0x11a')};}if(!this[_0xab9a('0x9a')](_0x1b8856[_0xab9a('0x55')])){ut[_0xab9a('0x63')](_0xab9a('0x11b'),_0xab9a('0x11c')+_0x1b8856['name']+_0xab9a('0x11d'));if(!this[_0xab9a('0x9a')](_0x1b8856[_0xab9a('0x9b')])){ut[_0xab9a('0x63')](_0xab9a('0x11b'),_0x1b8856[_0xab9a('0x29')]+_0xab9a('0x11e'));return{'isValid':![],'message':_0xab9a('0x11f')};}}if(!ut[_0xab9a('0x99')](_0x1b8856[_0xab9a('0x35')])){ut[_0xab9a('0x63')](_0xab9a('0x120'),_0x1b8856[_0xab9a('0x29')]+_0xab9a('0x121'));return{'isValid':![],'message':_0xab9a('0x11c')+_0x1b8856[_0xab9a('0x29')]+_0xab9a('0x121')};}return{'isValid':!![],'message':_0xab9a('0x122')};};Preview[_0xab9a('0x10')][_0xab9a('0xff')]=function(_0x378aae,_0x3d34d3,_0xf5e4d6,_0x36fc6c){var _0x97302d=this;return new BPromise(function(_0x17593e,_0x1a2e98){var _0x3ef578=_0x378aae[_0xab9a('0xb4')];var _0x2c5056=_0x97302d[_0xab9a('0x9a')](_0x3d34d3['Trunk'])?util[_0xab9a('0x5b')](_0xab9a('0x123'),_0x3d34d3[_0xab9a('0x55')]['name'],_['isNil'](_0x3d34d3[_0xab9a('0x39')])?'':_0x3d34d3['dialPrefix'][_0xab9a('0x124')]()||'',_0x3d34d3['dialCutDigit']>0x0?_0xf5e4d6[_0xab9a('0xfa')]['phone']['substring'](_0x3d34d3[_0xab9a('0x125')]):_0xf5e4d6[_0xab9a('0xfa')][_0xab9a('0xfb')]):util[_0xab9a('0x5b')](_0xab9a('0x123'),_['isNil'](_0x3d34d3[_0xab9a('0x9b')])?_0x3d34d3[_0xab9a('0x55')][_0xab9a('0x29')]:_0x3d34d3['TrunkBackup'][_0xab9a('0x29')],_[_0xab9a('0x6c')](_0x3d34d3[_0xab9a('0x39')])?'':_0x3d34d3[_0xab9a('0x39')][_0xab9a('0x124')]()||'',_0x3d34d3['dialCutDigit']>0x0?_0xf5e4d6[_0xab9a('0xfa')][_0xab9a('0xfb')][_0xab9a('0x126')](_0x3d34d3[_0xab9a('0x125')]):_0xf5e4d6[_0xab9a('0xfa')]['phone']);var _0x4519ad=_0x97302d['isTrunkReachable'](_0x3d34d3[_0xab9a('0x55')])?ut[_0xab9a('0x127')](_0x3d34d3[_0xab9a('0x55')][_0xab9a('0x57')],_0x3d34d3['dialOriginateCallerIdName'],_0x3d34d3[_0xab9a('0x128')]>0x0?ut['getCallerIdRandom'](_0x3d34d3[_0xab9a('0x129')],_0x3d34d3[_0xab9a('0x128')]):_0x3d34d3[_0xab9a('0x129')]):ut['getCallerId'](_[_0xab9a('0x6c')](_0x3d34d3[_0xab9a('0x9b')])?_0x3d34d3['Trunk']['callerid']:_0x3d34d3[_0xab9a('0x9b')][_0xab9a('0x57')],_0x3d34d3[_0xab9a('0x37')],_0x3d34d3['dialRandomLastDigitCallerIdNumber']>0x0?ut['getCallerIdRandom'](_0x3d34d3[_0xab9a('0x129')],_0x3d34d3['dialRandomLastDigitCallerIdNumber']):_0x3d34d3[_0xab9a('0x129')]);if(_0x4519ad){_0x378aae[_0xab9a('0x12a')]=ut[_0xab9a('0x12b')](_0x4519ad);_0x378aae[_0xab9a('0x12c')]=ut[_0xab9a('0x12d')](_0x4519ad);}var _0x54c39b=ut[_0xab9a('0x12e')](_0x3d34d3,_0xf5e4d6,_0x2c5056,_0x4519ad,_0x3ef578,_0x378aae);_['merge'](_0x378aae,ut[_0xab9a('0x12f')](_0x54c39b));_0x378aae[_0xab9a('0x8b')]=moment()[_0xab9a('0x5b')](_0xab9a('0x130'));ami[_0xab9a('0x77')](ut['variablesAction'](_0x378aae,_0x3d34d3,_0x54c39b,_0x378aae[_0xab9a('0xae')],_0x36fc6c))[_0xab9a('0x83')](function(_0x4e0a93){var _0x8e040e=_0x378aae[_0xab9a('0x131')];if(!_[_0xab9a('0x6c')](_0x8e040e)){if(!_[_0xab9a('0x6c')](_0x97302d[_0xab9a('0x19')][_0x8e040e])){_0x97302d[_0xab9a('0x19')][_0x8e040e][_0xab9a('0x132')]=_0x378aae[_0xab9a('0x133')];emit(util[_0xab9a('0x5b')](_0xab9a('0x134'),_0x97302d[_0xab9a('0x19')][_0x8e040e][_0xab9a('0x29')]),_0xab9a('0x135'),{'destaccountcode':_0x97302d['agents'][_0x8e040e]['accountcode'],'destconnectedlinenum':_0x378aae[_0xab9a('0x133')]});}}_0x3d34d3[_0xab9a('0x50')]+=0x1;logger[_0xab9a('0x6d')](_0xab9a('0x136'),_0x3ef578,_0xab9a('0xb5'),_0x3d34d3[_0xab9a('0x29')],'originated:\x20',_0x3d34d3[_0xab9a('0x50')]);_0x17593e(_0x4e0a93);})[_0xab9a('0x7a')](function(_0x4ad774){ut[_0xab9a('0xef')](_0x378aae,0xe,_0xab9a('0x137'));rpcDb[_0xab9a('0xf0')](_0x378aae,_0xab9a('0x138'));_0x1a2e98(_0x4ad774);});});};Preview[_0xab9a('0x10')]['syncNewExten']=function(_0x4efca8){if(this[_0xab9a('0x18')][_0x4efca8[_0xab9a('0xaf')]]){this['actions'][_0x4efca8['linkedid']][_0xab9a('0x79')]=_0x4efca8[_0xab9a('0x79')];}};Preview[_0xab9a('0x10')][_0xab9a('0x1c')]=function(_0x19c9bc){var _0x2f3cc2=this;var _0x184d5b=this[_0xab9a('0x18')][_0x19c9bc['actionid']];if(_0x184d5b){if(_0x184d5b[_0xab9a('0xfd')]&&this[_0xab9a('0x19')][_0x184d5b[_0xab9a('0xfd')]]){ut[_0xab9a('0x139')](_0x184d5b,this[_0xab9a('0x19')][_0x184d5b[_0xab9a('0xfd')]]['name'],this[_0xab9a('0x19')][_0x184d5b[_0xab9a('0xfd')]]['id']);}var _0x5c1f4f=_[_0xab9a('0x13a')](_0x184d5b);_0x5c1f4f[_0xab9a('0xb1')]=moment()[_0xab9a('0x5b')](_0xab9a('0x130'));var _0x291459=_0x2f3cc2['campaignsPreview'][_0x184d5b[_0xab9a('0x6f')]];if(ut[_0xab9a('0x13b')](_0x19c9bc[_0xab9a('0x13c')])){if(_0x184d5b[_0xab9a('0xad')]){rpcDb[_0xab9a('0x13d')](_0x184d5b[_0xab9a('0x13e')]);}if(_0x184d5b[_0xab9a('0xae')]){rpcDb['disableContact'](_0x184d5b[_0xab9a('0x13e')]);}ami[_0xab9a('0x27')]('custom:agentringnoanswer',ut[_0xab9a('0xa3')](_0x184d5b,'rejected',this[_0xab9a('0x15')][_0x184d5b[_0xab9a('0x6f')]]));this[_0xab9a('0xec')](_0x5c1f4f,_0x291459,_0x19c9bc);}else{_0x184d5b[_0xab9a('0x8b')]=moment()[_0xab9a('0x5b')]('YYYY-MM-DD\x20HH:mm:ss');ut['logAgent'](_0x5c1f4f,0x4,'Answer');rpcDb[_0xab9a('0xf0')](_0x5c1f4f,_0xab9a('0x13f'));}}};Preview[_0xab9a('0x10')]['syncHangup']=function(_0x4dd34d){var _0x3455b7=this;var _0x5d5554=this['actions'][_0x4dd34d[_0xab9a('0xaf')]];var _0x2cbb51;if(_0x5d5554){_0x2cbb51=this[_0xab9a('0x15')][_0x5d5554[_0xab9a('0x6f')]];logger['info']('[syncHangup][talking]',_0x4dd34d[_0xab9a('0xaf')],_0xab9a('0xb5'),_0x2cbb51[_0xab9a('0x29')],_0xab9a('0xc2'),_0x2cbb51['pTalking']);}if(this[_0xab9a('0x18')][_0x4dd34d['linkedid']]&&_0x4dd34d[_0xab9a('0xaf')]!==_0x4dd34d[_0xab9a('0xb4')]){if(_0x4dd34d[_0xab9a('0x140')]==='16'&&this[_0xab9a('0x18')][_0x4dd34d[_0xab9a('0xaf')]][_0xab9a('0x71')]){this['callProgressDetectingCustomer'](_0x4dd34d,_0x4dd34d[_0xab9a('0xaf')],_0x4dd34d[_0xab9a('0x140')]);}else if(this[_0xab9a('0x18')][_0x4dd34d[_0xab9a('0xaf')]][_0xab9a('0x71')]){logger[_0xab9a('0x6d')](_0xab9a('0x141'),_0x4dd34d[_0xab9a('0xaf')],_0x4dd34d[_0xab9a('0x140')],_0xab9a('0xb5'),_0x2cbb51[_0xab9a('0x29')],'pTalking:\x20',_0x2cbb51[_0xab9a('0x2e')]);this['callProgressDetectingCustomer'](_0x4dd34d,_0x4dd34d[_0xab9a('0xaf')],_0x4dd34d[_0xab9a('0x140')]);}}else if(_0x5d5554&&_[_0xab9a('0x6c')](_0x5d5554[_0xab9a('0x142')])&&_0x2cbb51[_0xab9a('0x143')]&&_0x4dd34d['linkedid']===_0x4dd34d[_0xab9a('0xb4')]&&_['isNil'](_0x4dd34d[_0xab9a('0x144')])&&_0x4dd34d['cause']==='16'&&_0x4dd34d['channelstate']==='6'&&_[_0xab9a('0xed')](_0x5d5554[_0xab9a('0x145')])){if(_0x5d5554[_0xab9a('0xad')]){rpcDb[_0xab9a('0x13d')](_0x5d5554[_0xab9a('0x13e')]);}if(_0x5d5554['activeContact']){rpcDb['disableContact'](_0x5d5554['idContact']);}_0x4dd34d[_0xab9a('0x144')]='22';this[_0xab9a('0xec')](_0x5d5554,_0x2cbb51,_0x4dd34d);}else if(_0x5d5554&&_0x5d5554[_0xab9a('0x145')]){if(_0x4dd34d['cause']==='16'&&this[_0xab9a('0x18')][_0x4dd34d[_0xab9a('0xaf')]]['dialAnswer']){logger[_0xab9a('0x6d')](_0xab9a('0x146'),_0x4dd34d['linkedid'],_0x4dd34d[_0xab9a('0x140')],'\x20Queue',_0x2cbb51['name'],_0xab9a('0xc2'),_0x2cbb51['pTalking']);this[_0xab9a('0x147')](_0x4dd34d,_0x4dd34d[_0xab9a('0xaf')],_0x4dd34d['cause']);}else if(this['actions'][_0x4dd34d[_0xab9a('0xaf')]][_0xab9a('0x71')]){logger[_0xab9a('0x6d')](_0xab9a('0x141'),_0x4dd34d[_0xab9a('0xaf')],_0x4dd34d[_0xab9a('0x140')],_0xab9a('0xb5'),_0x2cbb51['name'],'pTalking:\x20',_0x2cbb51[_0xab9a('0x2e')]);this[_0xab9a('0x147')](_0x4dd34d,_0x4dd34d['linkedid'],_0x4dd34d[_0xab9a('0x140')]);}}};Preview['prototype'][_0xab9a('0x148')]=function(_0x575c21){if(this['actions'][_0x575c21['destlinkedid']]&&_0x575c21['destlinkedid']!==_0x575c21[_0xab9a('0x149')]){this[_0xab9a('0x147')](_0x575c21,_0x575c21['destlinkedid'],_0x575c21['dialstatus']);}};Preview[_0xab9a('0x10')]['syncHangupRequest']=function(_0x2e5711){if(this[_0xab9a('0x18')][_0x2e5711['linkedid']]&&_0x2e5711[_0xab9a('0xaf')]!==_0x2e5711[_0xab9a('0xb4')]&&!this[_0xab9a('0x18')][_0x2e5711['linkedid']]['dialAnswer']){if(_0x2e5711[_0xab9a('0x140')]==='1'){this[_0xab9a('0x147')](_0x2e5711,_0x2e5711[_0xab9a('0xaf')],_0x2e5711[_0xab9a('0x140')]);}}};Preview[_0xab9a('0x10')]['addVariable']=function(_0xf25c3,_0x3c446d,_0x12778d){if(this[_0xab9a('0x18')][_0xf25c3]){if(_[_0xab9a('0x6c')](this[_0xab9a('0x18')][_0xf25c3]['variables'])){this[_0xab9a('0x18')][_0xf25c3][_0xab9a('0x14a')]={};}this[_0xab9a('0x18')][_0xf25c3][_0xab9a('0x14a')][_0x3c446d]=_0x12778d;}};Preview['prototype']['syncVarSet']=function(_0x4bbccb){try{if(!_[_0xab9a('0x6c')](_0x4bbccb)){if(ut[_0xab9a('0x14b')](_[_0xab9a('0x14c')](_0x4bbccb['variable'])[0x0])){this[_0xab9a('0x14d')](_0x4bbccb[_0xab9a('0xb4')],_[_0xab9a('0x14c')](_0x4bbccb['variable'])[0x0],_0x4bbccb[_0xab9a('0x14e')]);}}}catch(_0xbbf4b9){logger[_0xab9a('0x14f')](_0xab9a('0x150'),util[_0xab9a('0x151')](_0xbbf4b9,{'showHidden':![],'depth':null}));}};Preview['prototype'][_0xab9a('0x152')]=function(_0x36ec7b){if(_0x36ec7b){if(this[_0xab9a('0x18')][_0x36ec7b[_0xab9a('0x153')]]){this[_0xab9a('0x18')][_0x36ec7b[_0xab9a('0x153')]][_0xab9a('0x145')]=!![];}}};Preview[_0xab9a('0x10')][_0xab9a('0x25')]=function(_0x1703fb){if(_0x1703fb){if(this[_0xab9a('0x18')][_0x1703fb['transfererlinkedid']]){this[_0xab9a('0x18')][_0x1703fb[_0xab9a('0x154')]][_0xab9a('0x145')]=!![];}}};module[_0xab9a('0x155')]=Preview;