94876b2d47ac8817074242ee1e923852087475ff
[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 _0x4876=['CONGESTION','countcongestionretry','Congestion','custom:agentcongestion','congestion','[callProgressDetectingCustomer][logCongestion]','[callProgressDetectingCustomer][logCongestionGlobal]','CANCEL','AgentReject','custom:agentreject','agentreject','[syncHangupRequest][logAgentReject]','[callProgressDetectingCustomer][logAgentReject]','countagentrejectretry','dialAgentRejectMaxRetry','dialAgentRejectRetryFrequency','ABANDONED','countabandonedretry','Abandoned','[callProgressDetectingCustomer][logAbandoned]','countabandonedetry','dialAbandonedMaxRety','dialAbandonedRetryFrequency','countmachineretry','dialstatus','amd','[callProgressDetectingCustomer][hangupInAMD]','custom:amd','[callProgressDetectingCustomer][machine]','[default]','outboundUnknownCallsDay','cause-txt','[callProgressDetectingCustomer][logUnknown]','[callProgressDetectingCustomer]','[originated][decrement][callProgressDetectingCustomer]','destlinkedid','isUndefined','object','reason','logAgent','createAgentHistory','[callProgressDetectingAgent][logNoAnswer]','[callProgressDetectingAgent][logBusy]','[callProgressDetectingAgent][logCongestion]','[callProgressDetectingAgent][logAnswerAGI]','[callProgressDetectingAgent]','[originated][decrement][callProgressDetectingAgent]','checkInBlack','Contact','phone','lookAgent','isEmpty','[Preview][execCall][success]','Queue:\x20','idContact','custom:agentcalled','called','[Preview][execCall][failure]','Call\x20failed','[Blacklist][error]','Contact\x20in\x20black\x20List','SIP/%s','reachable','unmonitored','execRun','getContactPreview','recallme','validateContact','isValid','[Preview][checkIsBlackList]','Call\x20unsuccessful','[Preview][getContactPreview]','Agent','[Preview][validateContact][Empty\x20Contact]','Empty\x20Contact','Empty\x20Campaign','[Preview][validateContact][Trunk\x20not\x20work]','campaign\x20Name:\x20','\x20Trunk\x20is\x20not\x20active','\x20Trunk\x20Backup\x20is\x20not\x20active','Trunk\x20not\x20work','\x20Not\x20Active','Is\x20Valid','execCall','dialPrefix','trim','substring','dialCutDigit','SIP/%s/%s%s','getCallerId','dialOriginateCallerIdName','dialRandomLastDigitCallerIdNumber','getCallerIdRandom','originatecalleridname','extractCalleridName','extractCalleridNumber','addVariables','toLowerVariables','starttime','variablesAction','[originated][increment]','OriginateError','[originateFailure][logOriginateFailure]','actionid','logLookAgent','clone','responsetime','response','unlockContact','custom:agentringnoanswer','rejected','[callProgressDetectingAgent][logAnswer]','syncHangup','[syncHangup][talking]','[syncHangup][talking][cause]','cause','statedesc','dialQueueProject','transfer','callProgressDetectingAgent','[syncHangup][talking][transfer]','destuniqueid','syncHangupRequest','addVariable','filterKey','keys','variable','value','inspect','transfertargetlinkedid','transfererlinkedid','exports','bluebird','md5','../../../config/environment','../../../config/logger','preview','../ami','./rpcDb','./util/util','redis','defaults','localhost','socket.io-emitter','prototype','enqueue','tail','finally','sequence','campaignsPreview','voiceQueues','trunks','actions','agents','originateresponse','syncOriginateResponse','bind','hangup','hanguprequest','syncDialEnd','newexten','syncNewExten','attendedtransfer','syncAttendedTransfer','blindtransfer','syncBlindTransfer','loopCampaigns','emit','type','outbound','name','strategy','answered','pTalking','sumHoldTime','talking','unmanaged','abandoned','waiting','loggedInDb','dialMethod','dialOriginateCallerIdNumber','outboundAnswerAgiCallsDay','outboundAnswerCallsDay','outboundBlacklistCallsDay','outboundCongestionCallsDay','outboundDropCallsDayACS','outboundDropCallsDayCallersExit','outboundDropCallsDayTimeout','outboundNoAnswerCallsDay','outboundNoSuchCallsDay','outboundReCallsDay','outboundRejectCallsDay','outboundAbandonedCallsDay','predictiveIntervalAnsweredCalls','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','predictiveIntervalDroppedCallsCallersExit','predictiveIntervalDroppedCallsTimeout','predictiveIntervalErlangCalls','predictiveIntervalHitRate','predictiveIntervalPauses','erlangCalls','erlangCallToSecond','erlangAbandonmentRate','startPredictive','Trunk','active','callerid','Interval','stringify','format','voice_queue:save','[DEBUG]\x20Emit\x20voice_queue_channel:remove\x20event','voice:queue:%s','voice_queue_channel:remove','sendMessageOneNotActive','originated','paused','NOT_ACTIVE','[CampaignPreview]\x20Campaign\x20Queue:\x20','\x20is\x20not\x20active','message','IS_DISACTIVED','logger','syncCampaigns','clockClearZombieChannels','hasOwnProperty','booked','dialActive','setMessage','recallMe','clearZombieChannel','isNil','info','[clearZombieChannels][talking]','Queue','queue','originated:\x20','pTalking:\x20','dialAnswer','pick','contactId','UserId','VoiceQueueId','ListId','Action','status','channel','catch','No\x20such\x20channel','updateOriginated','decrementTalkink','[clearZombieChannel]','[Dialer][checkChannel][pTalking][Preview]','loggerError','[Dialer][checkChannel][Preview]','clearZombieChannels','[action]','getContactRecallMe','agentReadyId','then','length','getDiff','scheduledat','logger2','[RecallMe]','disableContact','YYYY-MM-DD\x20HH:mm:ss','logCustomer','RecallInQueue','dialRecallInQueue','rescheduleContactInQueue','createBody','createCustomerHistory','RecallFailedTimeout','[HistoryRecallClose]','createCustomerFinal','IsNotLoggedIn','AGENTS_NOT_LOGGED','isActive','isTrunkReachable','TrunkBackup','ACTIVE','callProgressDetectingCustomer','countglobal','totalGlobal','NoSuchNumber','custom:agentnosuchnumber','buildObj','nosuchnumber','[callProgressDetectingCustomer][logNoSuch]','dialGlobalMaxRetry','cloneAction','Global','countnosuchnumberretry','dialNoSuchNumberMaxRetry','[callProgressDetectingCustomer][logNoSuchGlobal]','scheduledAt','dialNoSuchNumberRetryFrequency','unlockAgent','activeContact','linkedid','ANSWER','answertime','[syncHangup][talking][increment]','\x20Queue','custom:agentconnect','acw','custom:agentConnectPreview','custom:agentcomplete','complete','total','[16]','Answer','crateCustomerReportQueue','sumDuration','talktime','sumBillable','[syncHangup][talking][decrement]','uniqueid','outboundBusyCallsDay','countbusyretry','Busy','custom:agentbusy','[callProgressDetectingCustomer][logBusy]','[callProgressDetectingCustomer][logBusyGlobal]','dialBusyMaxRetry','rescheduleContact','NOANSWER','countnoanswerretry','NoAnswer','custom:agentnoanswer','noanswer','[callProgressDetectingCustomer][logNoAnswerGlobal]','dialNoAnswerMaxRetry','[callProgressDetectingCustomer][logNoAnswer]'];(function(_0x527149,_0x4e31a2){var _0x3f9ffd=function(_0x2b9ecc){while(--_0x2b9ecc){_0x527149['push'](_0x527149['shift']());}};_0x3f9ffd(++_0x4e31a2);}(_0x4876,0x84));var _0x6487=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x4876[_0x3dd15e];return _0x231fd0;};'use strict';var util=require('util');var _=require('lodash');var BPromise=require(_0x6487('0x0'));var uuid=require('uuid');var moment=require('moment');var md5=require(_0x6487('0x1'));var Redis=require('ioredis');var config=require(_0x6487('0x2'));var logger=require(_0x6487('0x3'))(_0x6487('0x4'));var loggerAction=require(_0x6487('0x3'))('actionPreview');var ami=require(_0x6487('0x5'));var rpcDb=require(_0x6487('0x6'));var Action=require('./action');var ut=require(_0x6487('0x7'));config[_0x6487('0x8')]=_[_0x6487('0x9')](config[_0x6487('0x8')],{'host':_0x6487('0xa'),'port':0x18eb});var io=require(_0x6487('0xb'))(new Redis(config[_0x6487('0x8')]));var Sequence=function(){};Sequence[_0x6487('0xc')][_0x6487('0xd')]=function(_0x5e8c83){this[_0x6487('0xe')]=this[_0x6487('0xe')]?this[_0x6487('0xe')][_0x6487('0xf')](_0x5e8c83):_0x5e8c83();};function Preview(_0x47238b){this[_0x6487('0x10')]=new Sequence();this[_0x6487('0x11')]=_0x47238b[_0x6487('0x12')];this['trunks']=_0x47238b[_0x6487('0x13')];this[_0x6487('0x14')]={};this[_0x6487('0x15')]=_0x47238b[_0x6487('0x15')];this['clockClearZombieChannels']=0x0;ami['on'](_0x6487('0x16'),this[_0x6487('0x17')][_0x6487('0x18')](this));ami['on'](_0x6487('0x19'),this['syncHangup']['bind'](this));ami['on'](_0x6487('0x1a'),this['syncHangupRequest'][_0x6487('0x18')](this));ami['on']('dialend',this[_0x6487('0x1b')][_0x6487('0x18')](this));ami['on'](_0x6487('0x1c'),this[_0x6487('0x1d')][_0x6487('0x18')](this));ami['on']('varset',this['syncVarSet']['bind'](this));ami['on'](_0x6487('0x1e'),this[_0x6487('0x1f')][_0x6487('0x18')](this));ami['on'](_0x6487('0x20'),this[_0x6487('0x21')][_0x6487('0x18')](this));this[_0x6487('0x22')](this[_0x6487('0x11')]);}function emit(_0x1b99ef,_0x30ed2e,_0xee261d){io['to'](_0x1b99ef)[_0x6487('0x23')](_0x30ed2e,_0xee261d);}function emitCampaignPreview(_0x3efa5e){if(_0x3efa5e[_0x6487('0x24')]===_0x6487('0x25')){var _0x21050d={'id':_0x3efa5e['id'],'name':_0x3efa5e[_0x6487('0x26')],'strategy':_0x3efa5e[_0x6487('0x27')],'answered':_0x3efa5e[_0x6487('0x28')],'available':_0x3efa5e['available'],'loggedIn':_0x3efa5e['loggedIn'],'pTalking':_0x3efa5e[_0x6487('0x29')],'sumBillable':_0x3efa5e['sumBillable'],'sumDuration':_0x3efa5e['sumDuration'],'sumHoldTime':_0x3efa5e[_0x6487('0x2a')]||0x0,'talking':_0x3efa5e[_0x6487('0x2b')],'total':_0x3efa5e['total'],'type':_0x3efa5e[_0x6487('0x24')],'unmanaged':_0x3efa5e[_0x6487('0x2c')],'abandoned':_0x3efa5e[_0x6487('0x2d')],'waiting':_0x3efa5e[_0x6487('0x2e')],'loggedInDb':_0x3efa5e[_0x6487('0x2f')],'dialActive':_0x3efa5e['dialActive'],'dialMethod':_0x3efa5e[_0x6487('0x30')],'dialOriginateCallerIdName':_0x3efa5e['dialOriginateCallerIdName'],'dialOriginateCallerIdNumber':_0x3efa5e[_0x6487('0x31')],'dialOriginateTimeout':_0x3efa5e['dialOriginateTimeout'],'dialPrefix':_0x3efa5e['dialPrefix'],'outboundAnswerAgiCallsDay':_0x3efa5e[_0x6487('0x32')],'outboundAnswerCallsDay':_0x3efa5e[_0x6487('0x33')],'outboundBlacklistCallsDay':_0x3efa5e[_0x6487('0x34')],'outboundBusyCallsDay':_0x3efa5e['outboundBusyCallsDay'],'outboundCongestionCallsDay':_0x3efa5e[_0x6487('0x35')],'outboundDropCallsDayACS':_0x3efa5e[_0x6487('0x36')],'outboundDropCallsDayCallersExit':_0x3efa5e[_0x6487('0x37')],'outboundDropCallsDayTimeout':_0x3efa5e[_0x6487('0x38')],'outboundNoAnswerCallsDay':_0x3efa5e[_0x6487('0x39')],'outboundNoSuchCallsDay':_0x3efa5e[_0x6487('0x3a')],'outboundOriginateFailureCallsDay':_0x3efa5e['outboundOriginateFailureCallsDay'],'outboundReCallsDay':_0x3efa5e[_0x6487('0x3b')],'outboundRejectCallsDay':_0x3efa5e[_0x6487('0x3c')],'outboundUnknownCallsDay':_0x3efa5e['outboundUnknownCallsDay'],'outboundAbandonedCallsDay':_0x3efa5e[_0x6487('0x3d')],'predictiveIntervalAnsweredCalls':_0x3efa5e[_0x6487('0x3e')],'predictiveIntervalAvgHoldtime':_0x3efa5e[_0x6487('0x3f')],'predictiveIntervalAvgTalktime':_0x3efa5e[_0x6487('0x40')],'predictiveIntervalDroppedCallsCallersExit':_0x3efa5e[_0x6487('0x41')],'predictiveIntervalDroppedCallsTimeout':_0x3efa5e[_0x6487('0x42')],'predictiveIntervalErlangCalls':_0x3efa5e[_0x6487('0x43')],'predictiveIntervalErlangCallsDroppedCalls':_0x3efa5e['predictiveIntervalErlangCallsDroppedCalls'],'predictiveIntervalHitRate':_0x3efa5e[_0x6487('0x44')],'predictiveIntervalMultiplicativeFactor':_0x3efa5e['predictiveIntervalMultiplicativeFactor'],'predictiveIntervalPauses':_0x3efa5e[_0x6487('0x45')],'predictiveIntervalAvailable':_0x3efa5e['predictiveIntervalAvailable'],'predictiveIntervalTotalCalls':_0x3efa5e['predictiveIntervalTotalCalls'],'message':_0x3efa5e['message'],'originated':_0x3efa5e['originated'],'erlangCalls':_0x3efa5e[_0x6487('0x46')],'erlangCallToSecond':_0x3efa5e[_0x6487('0x47')],'erlangAbandonmentRate':_0x3efa5e[_0x6487('0x48')],'erlangBusyFactor':_0x3efa5e['erlangBusyFactor'],'startPredictive':_0x3efa5e[_0x6487('0x49')],'startProgressive':_0x3efa5e['startProgressive']};if(_0x3efa5e[_0x6487('0x4a')]){_0x21050d[_0x6487('0x4a')]={'id':_0x3efa5e[_0x6487('0x4a')]['id'],'name':_0x3efa5e[_0x6487('0x4a')][_0x6487('0x26')],'active':_0x3efa5e['Trunk'][_0x6487('0x4b')],'callerid':_0x3efa5e['Trunk'][_0x6487('0x4c')]};}if(_0x3efa5e[_0x6487('0x4d')]){_0x21050d[_0x6487('0x4d')]={'id':_0x3efa5e[_0x6487('0x4d')]['id'],'name':_0x3efa5e['Interval'][_0x6487('0x26')]};}var _0x30c609=md5(JSON[_0x6487('0x4e')](_0x21050d));if(_0x3efa5e['md5']!==_0x30c609){_0x3efa5e['md5']=_0x30c609;emit(util[_0x6487('0x4f')]('voice:queue:%s',_0x21050d[_0x6487('0x26')]),_0x6487('0x50'),_0x21050d);}}}function emitVoiceQueueChannelRemove(_0xff0c42){logger['info'](_0x6487('0x51'),JSON[_0x6487('0x4e')](_0xff0c42));emit(util[_0x6487('0x4f')](_0x6487('0x52'),_0xff0c42[_0x6487('0x26')]),_0x6487('0x53'),_0xff0c42);io[_0x6487('0x23')]('voice_queue_presence:remove',_0xff0c42);}function notSendMessagesQueue(_0xa2a8dc){if(_0xa2a8dc[_0x6487('0x54')]){if(_0xa2a8dc[_0x6487('0x55')]===0x0&&_0xa2a8dc['pTalking']===0x0){_0xa2a8dc[_0x6487('0x54')]=![];_0xa2a8dc['available']=0x0;_0xa2a8dc[_0x6487('0x56')]=0x0;_0xa2a8dc['message']=_0x6487('0x57');ut['logger'](_0x6487('0x58'),_0xa2a8dc[_0x6487('0x26')]+_0x6487('0x59'));}else{_0xa2a8dc[_0x6487('0x5a')]=_0x6487('0x5b');ut[_0x6487('0x5c')](_0x6487('0x58'),_0xa2a8dc[_0x6487('0x26')]+'\x20is\x20disactive');}emitCampaignPreview(_0xa2a8dc);}}Preview[_0x6487('0xc')][_0x6487('0x22')]=function(){var _0x746f40=this;setInterval(function(){_0x746f40[_0x6487('0x5d')]();},0x7cf);};Preview[_0x6487('0xc')][_0x6487('0x5d')]=function(){var _0x594b42=this[_0x6487('0x11')];this[_0x6487('0x5e')]+=0x1;for(var _0x4d01a3 in _0x594b42){if(_0x594b42[_0x6487('0x5f')](_0x4d01a3)&&(_0x594b42[_0x4d01a3][_0x6487('0x30')]===_0x6487('0x4')||_0x594b42[_0x4d01a3][_0x6487('0x30')]===_0x6487('0x60'))&&_0x594b42[_0x4d01a3][_0x6487('0x24')]===_0x6487('0x25')){if(this[_0x6487('0x5e')]>0x7){this[_0x6487('0x5e')]=0x0;this['clearZombieChannels']();}}if(_0x594b42[_0x6487('0x5f')](_0x4d01a3)&&_0x594b42[_0x4d01a3][_0x6487('0x30')]===_0x6487('0x4')&&_0x594b42[_0x4d01a3]['type']==='outbound'){if(_0x594b42[_0x4d01a3][_0x6487('0x61')]){this[_0x6487('0x62')](_0x594b42[_0x4d01a3]);this[_0x6487('0x63')](_0x594b42[_0x4d01a3]);}else{notSendMessagesQueue(_0x594b42[_0x4d01a3]);}}}};Preview[_0x6487('0xc')][_0x6487('0x64')]=function(_0x5e1193){var _0x5e8a76=this;this[_0x6487('0x10')]['enqueue'](function(){if(!_[_0x6487('0x65')](_0x5e8a76[_0x6487('0x14')][_0x5e1193])){loggerAction[_0x6487('0x66')](_0x6487('0x67'),_0x5e1193,_0x6487('0x68'),_0x5e8a76[_0x6487('0x14')][_0x5e1193][_0x6487('0x69')],_0x6487('0x6a'),JSON[_0x6487('0x4e')](_0x5e8a76[_0x6487('0x11')][_0x5e8a76[_0x6487('0x14')][_0x5e1193][_0x6487('0x69')]]['originated']),_0x6487('0x6b'),JSON['stringify'](_0x5e8a76[_0x6487('0x11')][_0x5e8a76[_0x6487('0x14')][_0x5e1193][_0x6487('0x69')]][_0x6487('0x29')]),JSON[_0x6487('0x4e')](_0x5e8a76[_0x6487('0x14')][_0x5e1193][_0x6487('0x6c')]),JSON[_0x6487('0x4e')](_[_0x6487('0x6d')](_0x5e8a76[_0x6487('0x14')][_0x5e1193],[_0x6487('0x6e'),_0x6487('0x6f'),_0x6487('0x70'),_0x6487('0x71')])));return ami[_0x6487('0x72')]({'action':_0x6487('0x73'),'channel':_0x5e8a76[_0x6487('0x14')][_0x5e1193][_0x6487('0x74')]})[_0x6487('0x75')](function(_0x56aa08){if(_0x56aa08[_0x6487('0x5a')]===_0x6487('0x76')){setTimeout(function(){if(_0x5e8a76['actions'][_0x5e1193]){ut[_0x6487('0x77')](_0x5e8a76[_0x6487('0x11')][_0x5e8a76[_0x6487('0x14')][_0x5e1193][_0x6487('0x69')]],'[clearZombieChannel]');if(_0x5e8a76[_0x6487('0x14')][_0x5e1193][_0x6487('0x6c')]===!![]){ut[_0x6487('0x78')](_0x5e8a76[_0x6487('0x11')][_0x5e8a76[_0x6487('0x14')][_0x5e1193][_0x6487('0x69')]],_0x6487('0x79'));ut['loggerError'](_0x6487('0x7a')+_0x5e1193,_0x5e8a76[_0x6487('0x14')][_0x5e1193][_0x6487('0x69')]);}ut[_0x6487('0x7b')](_0x6487('0x7c')+_0x5e1193,_0x5e8a76[_0x6487('0x14')][_0x5e1193][_0x6487('0x69')]);delete _0x5e8a76[_0x6487('0x14')][_0x5e1193];}},0x2328);}});}});};Preview[_0x6487('0xc')][_0x6487('0x7d')]=function(){var _0x301400=this;loggerAction['info'](_0x6487('0x7e'),_['size'](this[_0x6487('0x14')]));for(var _0x1b9151 in this[_0x6487('0x14')]){if(_0x301400[_0x6487('0x14')][_0x6487('0x5f')](_0x1b9151)){_0x301400[_0x6487('0x64')](_0x1b9151);}}};Preview[_0x6487('0xc')][_0x6487('0x63')]=function(_0x4a3f57){var _0x4d7a8a=this;rpcDb[_0x6487('0x7f')](_0x4a3f57['id'],ut[_0x6487('0x80')](this['agents']))[_0x6487('0x81')](function(_0x3fd845){if(!_[_0x6487('0x65')](_0x3fd845)){for(var _0x7b0612=0x0;_0x7b0612<_0x3fd845[_0x6487('0x82')];_0x7b0612+=0x1){if(ut[_0x6487('0x83')](_0x3fd845[_0x7b0612][_0x6487('0x84')])<_0x4a3f57['dialRecallMeTimeout']*0x3c){if(_0x3fd845[_0x7b0612]['Agent']&&!_0x3fd845[_0x7b0612]['Agent']['voicePause']){_0x4d7a8a['run'](_0x3fd845[_0x7b0612]['id'])[_0x6487('0x81')](ut[_0x6487('0x85')](_0x6487('0x86')))[_0x6487('0x75')](ut[_0x6487('0x85')](_0x6487('0x86')));}else{rpcDb[_0x6487('0x87')](_0x3fd845[_0x7b0612]['id']);}}else{var _0x27e7a5=new Action(_0x3fd845[_0x7b0612],_0x4a3f57);_0x27e7a5['starttime']=moment()['format'](_0x6487('0x88'));_0x4a3f57[_0x6487('0x3b')]+=0x1;ut[_0x6487('0x89')](_0x27e7a5,0x17,_0x6487('0x8a'));if(_0x4a3f57[_0x6487('0x8b')]){rpcDb[_0x6487('0x8c')](ut[_0x6487('0x8d')](_0x3fd845[_0x7b0612]));rpcDb[_0x6487('0x8e')](_0x27e7a5,'[HistoryDialRecallInQueue][historyCatch]');}else{ut[_0x6487('0x89')](_0x27e7a5,0x16,_0x6487('0x8f'));rpcDb[_0x6487('0x8e')](_0x27e7a5,_0x6487('0x90'));rpcDb[_0x6487('0x91')](_0x27e7a5,_0x6487('0x90'));}}}}})[_0x6487('0x75')](ut[_0x6487('0x85')]('[getContactRecallMe]'));};Preview['prototype'][_0x6487('0x62')]=function(_0x3d4a23){_0x3d4a23[_0x6487('0x54')]=!![];if(ut[_0x6487('0x92')](_0x3d4a23['loggedIn'])){_0x3d4a23['message']=_0x6487('0x93');}else if(!ut[_0x6487('0x94')](_0x3d4a23[_0x6487('0x61')])){_0x3d4a23[_0x6487('0x5a')]=_0x6487('0x57');}else if(!this[_0x6487('0x95')](_0x3d4a23[_0x6487('0x4a')])){if(!this[_0x6487('0x95')](_0x3d4a23[_0x6487('0x96')])){_0x3d4a23[_0x6487('0x5a')]='TRUNK_IS_NOT_REACHABLE';}else{_0x3d4a23[_0x6487('0x5a')]=_0x6487('0x97');}}else{_0x3d4a23[_0x6487('0x5a')]=_0x6487('0x97');}emitCampaignPreview(_0x3d4a23);};Preview[_0x6487('0xc')][_0x6487('0x98')]=function(_0x34a484,_0x256c1b,_0x535331){var _0x367451=this;var _0x505a90=this[_0x6487('0x14')][_0x256c1b];var _0x22c64e=this[_0x6487('0x11')][_0x505a90[_0x6487('0x69')]];var _0xe9d794;if(_0x22c64e){switch(_0x535331){case'1':_0x22c64e['outboundNoSuchCallsDay']+=0x1;_0x505a90['countnosuchnumberretry']+=0x1;_0x505a90[_0x6487('0x99')]=ut[_0x6487('0x9a')](_0x505a90);ut[_0x6487('0x89')](_0x505a90,0x0,_0x6487('0x9b'));ami[_0x6487('0x23')](_0x6487('0x9c'),ut[_0x6487('0x9d')](_0x505a90,_0x6487('0x9e')));rpcDb[_0x6487('0x8e')](_0x505a90,_0x6487('0x9f'));if(ut[_0x6487('0x9a')](_0x505a90)>=_0x22c64e[_0x6487('0xa0')]){_0xe9d794=ut[_0x6487('0xa1')](_0x505a90,0xf,_0x6487('0xa2'));rpcDb[_0x6487('0x91')](_0xe9d794,'[callProgressDetectingCustomer][logNoSuchGlobal]');}else{if(_0x505a90[_0x6487('0xa3')]>=_0x22c64e[_0x6487('0xa4')]){rpcDb[_0x6487('0x91')](_0x505a90,_0x6487('0xa5'));}else{rpcDb['rescheduleContact'](ut[_0x6487('0xa6')](_0x505a90,'countnosuchnumberretry',_0x22c64e[_0x6487('0xa7')]),_0x505a90[_0x6487('0xa8')],_0x505a90[_0x6487('0xa9')]);}}delete this[_0x6487('0x14')][_0x34a484[_0x6487('0xaa')]];break;case _0x6487('0xab'):var _0x1fa737=moment()[_0x6487('0x4f')](_0x6487('0x88'));_0x505a90['responsetime']=_0x1fa737;_0x505a90[_0x6487('0xac')]=_0x1fa737;_0x505a90['dialAnswer']=!![];_0x22c64e['pTalking']+=0x1;logger[_0x6487('0x66')](_0x6487('0xad'),_0x505a90['uniqueid'],_0x6487('0xae'),_0x22c64e[_0x6487('0x26')],'pTalking:\x20',_0x22c64e[_0x6487('0x29')]);ami[_0x6487('0x23')](_0x6487('0xaf'),ut[_0x6487('0x9d')](_0x505a90,'connect',this[_0x6487('0x11')][_0x505a90['queue']]));if(_0x22c64e[_0x6487('0xb0')]){ami['emit'](_0x6487('0xb1'),ut['buildAcw'](_0x505a90));}break;case'16':ami[_0x6487('0x23')](_0x6487('0xb2'),ut['buildObj'](_0x505a90,_0x6487('0xb3'),this[_0x6487('0x11')][_0x505a90[_0x6487('0x69')]]));emitVoiceQueueChannelRemove(ut['buildObj'](_0x505a90,_0x6487('0xb3')));_0x22c64e[_0x6487('0x33')]+=0x1;_0x22c64e[_0x6487('0xb4')]+=0x1;_0x22c64e['answered']+=0x1;ut[_0x6487('0x78')](_0x22c64e,_0x6487('0xb5'));_0x505a90[_0x6487('0x99')]=ut[_0x6487('0x9a')](_0x505a90);ut[_0x6487('0x89')](_0x505a90,0x4,_0x6487('0xb6'));rpcDb[_0x6487('0x8e')](_0x505a90,'[callProgressDetectingCustomer][logAnswer]');rpcDb[_0x6487('0x91')](_0x505a90,'[callProgressDetectingCustomer][logAnswerGlobal]');rpcDb[_0x6487('0xb7')](_0x505a90);_0x22c64e[_0x6487('0xb8')]+=_0x505a90[_0x6487('0xb9')];_0x22c64e[_0x6487('0xba')]+=_0x505a90[_0x6487('0xb9')];logger[_0x6487('0x66')](_0x6487('0xbb'),_0x505a90[_0x6487('0xbc')],_0x6487('0xae'),_0x22c64e['name'],_0x6487('0x6b'),_0x22c64e['pTalking']);delete this[_0x6487('0x14')][_0x34a484[_0x6487('0xaa')]];break;case'BUSY':_0x22c64e[_0x6487('0xbd')]+=0x1;_0x505a90[_0x6487('0xbe')]+=0x1;_0x505a90['countglobal']=ut[_0x6487('0x9a')](_0x505a90);ut[_0x6487('0x89')](_0x505a90,0x5,_0x6487('0xbf'));ami[_0x6487('0x23')](_0x6487('0xc0'),ut[_0x6487('0x9d')](_0x505a90,'busy'));rpcDb[_0x6487('0x8e')](_0x505a90,_0x6487('0xc1'));if(ut['totalGlobal'](_0x505a90)>=_0x22c64e['dialGlobalMaxRetry']){_0xe9d794=ut['cloneAction'](_0x505a90,0xf,'Global');rpcDb[_0x6487('0x91')](_0xe9d794,_0x6487('0xc2'));}else{if(_0x505a90[_0x6487('0xbe')]>=_0x22c64e[_0x6487('0xc3')]){rpcDb['createCustomerFinal'](_0x505a90,_0x6487('0xc1'));}else{rpcDb[_0x6487('0xc4')](ut['scheduledAt'](_0x505a90,_0x6487('0xbe'),_0x22c64e['dialBusyRetryFrequency']),_0x505a90['unlockAgent'],_0x505a90['activeContact']);}}break;case _0x6487('0xc5'):_0x22c64e['outboundNoAnswerCallsDay']+=0x1;_0x505a90[_0x6487('0xc6')]+=0x1;_0x505a90['countglobal']=ut[_0x6487('0x9a')](_0x505a90);ut['logCustomer'](_0x505a90,0x3,_0x6487('0xc7'));ami[_0x6487('0x23')](_0x6487('0xc8'),ut['buildObj'](_0x505a90,_0x6487('0xc9')));rpcDb[_0x6487('0x8e')](_0x505a90,'[callProgressDetectingCustomer][logNoAnswer]');if(ut[_0x6487('0x9a')](_0x505a90)>=_0x22c64e['dialGlobalMaxRetry']){_0xe9d794=ut[_0x6487('0xa1')](_0x505a90,0xf,'Global');rpcDb[_0x6487('0x91')](_0xe9d794,_0x6487('0xca'));}else{if(_0x505a90[_0x6487('0xc6')]>=_0x22c64e[_0x6487('0xcb')]){rpcDb['createCustomerFinal'](_0x505a90,_0x6487('0xcc'));}else{rpcDb[_0x6487('0xc4')](ut[_0x6487('0xa6')](_0x505a90,'countnoanswerretry',_0x22c64e['dialNoAnswerRetryFrequency']),_0x505a90[_0x6487('0xa8')],_0x505a90[_0x6487('0xa9')]);}}break;case _0x6487('0xcd'):_0x22c64e['outboundCongestionCallsDay']+=0x1;_0x505a90[_0x6487('0xce')]+=0x1;_0x505a90[_0x6487('0x99')]=ut[_0x6487('0x9a')](_0x505a90);ut['logCustomer'](_0x505a90,0x8,_0x6487('0xcf'));ami[_0x6487('0x23')](_0x6487('0xd0'),ut[_0x6487('0x9d')](_0x505a90,_0x6487('0xd1')));rpcDb[_0x6487('0x8e')](_0x505a90,_0x6487('0xd2'));if(ut[_0x6487('0x9a')](_0x505a90)>=_0x22c64e['dialGlobalMaxRetry']){_0xe9d794=ut[_0x6487('0xa1')](_0x505a90,0xf,'Global');rpcDb[_0x6487('0x91')](_0xe9d794,_0x6487('0xd3'));}else{if(_0x505a90[_0x6487('0xce')]>=_0x22c64e['dialCongestionMaxRetry']){rpcDb[_0x6487('0x91')](_0x505a90,_0x6487('0xd2'));}else{rpcDb[_0x6487('0xc4')](ut[_0x6487('0xa6')](_0x505a90,'countcongestionretry',_0x22c64e['dialBusyRetryFrequency']),_0x505a90['unlockAgent'],_0x505a90[_0x6487('0xa9')]);}}break;case _0x6487('0xd4'):_0x22c64e['outboundRejectCallsDay']+=0x1;_0x505a90['countagentrejectretry']+=0x1;_0x505a90[_0x6487('0x99')]=ut[_0x6487('0x9a')](_0x505a90);ut[_0x6487('0x89')](_0x505a90,0x14,_0x6487('0xd5'));ami['emit'](_0x6487('0xd6'),ut['buildObj'](_0x505a90,_0x6487('0xd7')));rpcDb['createCustomerHistory'](_0x505a90,_0x6487('0xd8'));if(ut['totalGlobal'](_0x505a90)>=_0x22c64e[_0x6487('0xa0')]){_0xe9d794=ut['cloneAction'](_0x505a90,0x14,'AgentReject');rpcDb[_0x6487('0x91')](_0xe9d794,_0x6487('0xd9'));}else{if(_0x505a90[_0x6487('0xda')]>=_0x22c64e[_0x6487('0xdb')]){rpcDb[_0x6487('0x91')](_0x505a90,_0x6487('0xd9'));}else{rpcDb[_0x6487('0xc4')](ut[_0x6487('0xa6')](_0x505a90,_0x6487('0xda'),_0x22c64e[_0x6487('0xdc')]),_0x505a90['unlockAgent'],_0x505a90[_0x6487('0xa9')]);}}break;case _0x6487('0xdd'):_0x22c64e['outboundAbandonedCallsDay']+=0x1;_0x505a90[_0x6487('0xde')]+=0x1;_0x505a90['countglobal']=ut[_0x6487('0x9a')](_0x505a90);ut[_0x6487('0x89')](_0x505a90,0xb,_0x6487('0xdf'));rpcDb[_0x6487('0x8e')](_0x505a90,_0x6487('0xe0'));if(ut[_0x6487('0x9a')](_0x505a90)>=_0x22c64e[_0x6487('0xa0')]){_0xe9d794=ut[_0x6487('0xa1')](_0x505a90,0xf,'Global');rpcDb[_0x6487('0x91')](_0xe9d794,_0x6487('0xe0'));}else{if(_0x505a90[_0x6487('0xe1')]>=_0x22c64e[_0x6487('0xe2')]){rpcDb[_0x6487('0x91')](_0x505a90,_0x6487('0xe0'));}else{rpcDb[_0x6487('0xc4')](ut['scheduledAt'](_0x505a90,_0x6487('0xde'),_0x22c64e[_0x6487('0xe3')]),_0x505a90['unlockAgent'],_0x505a90['activeContact']);}}break;case'18':_0x22c64e['outboundUnknownCallsDay']+=0x1;_0x505a90[_0x6487('0xe4')]+=0x1;_0x505a90['countglobal']=ut['totalGlobal'](_0x505a90);ut[_0x6487('0x89')](_0x505a90,0x12,_0x34a484['cause-txt']||_0x34a484[_0x6487('0xe5')]);ami[_0x6487('0x23')]('custom:amd',ut['buildObj'](_0x505a90,_0x6487('0xe6')));rpcDb[_0x6487('0x8e')](_0x505a90,_0x6487('0xe7'));if(ut[_0x6487('0x9a')](_0x505a90)>=_0x22c64e['dialGlobalMaxRetry']){_0xe9d794=ut[_0x6487('0xa1')](_0x505a90,0xf,_0x6487('0xa2'));rpcDb['createCustomerFinal'](_0xe9d794,'[callProgressDetectingCustomer][hangupInAMD]');}else{rpcDb[_0x6487('0x91')](_0x505a90,_0x6487('0xe7'));}delete this[_0x6487('0x14')][_0x34a484[_0x6487('0xaa')]];break;case'19':_0x22c64e['outboundUnknownCallsDay']+=0x1;_0x505a90[_0x6487('0x99')]=ut[_0x6487('0x9a')](_0x505a90);ut[_0x6487('0x89')](_0x505a90,0x13,_0x34a484['cause-txt']||_0x34a484[_0x6487('0xe5')]);ami[_0x6487('0x23')](_0x6487('0xe8'),ut[_0x6487('0x9d')](_0x505a90,_0x6487('0xe6')));rpcDb[_0x6487('0x8e')](_0x505a90,_0x6487('0xe9'));if(ut[_0x6487('0x9a')](_0x505a90)>=_0x22c64e[_0x6487('0xa0')]){_0xe9d794=ut[_0x6487('0xa1')](_0x505a90,0xf,_0x6487('0xa2'));rpcDb[_0x6487('0x91')](_0xe9d794,_0x6487('0xe9'));}else{rpcDb['createCustomerFinal'](_0x505a90,_0x6487('0xe9'));}delete this['actions'][_0x34a484[_0x6487('0xaa')]];break;default:if(_0x505a90[_0x6487('0x6c')]){ut[_0x6487('0x78')](_0x22c64e,_0x6487('0xea'));ut[_0x6487('0x7b')]('[Dialer][decrementTalkink][no\x20Hangup][Preview]'+_0x22c64e[_0x6487('0x26')],_0x34a484);}_0x22c64e[_0x6487('0xeb')]+=0x1;_0x505a90['countglobal']=ut[_0x6487('0x9a')](_0x505a90);ut[_0x6487('0x89')](_0x505a90,0xc,_0x34a484[_0x6487('0xec')]||_0x34a484['dialstatus']);rpcDb[_0x6487('0x8e')](_0x505a90,_0x6487('0xed'));if(ut['totalGlobal'](_0x505a90)>=_0x22c64e['dialGlobalMaxRetry']){_0xe9d794=ut[_0x6487('0xa1')](_0x505a90,0xf,_0x6487('0xa2'));rpcDb[_0x6487('0x91')](_0xe9d794,'[callProgressDetectingCustomer][logUnknownGlobal]');}else{rpcDb[_0x6487('0x91')](_0x505a90,'[callProgressDetectingCustomer][logUnknownGlobal]');}delete this[_0x6487('0x14')][_0x34a484['linkedid']];}if(!(_0x505a90[_0x6487('0x6c')]&&_0x535331==='16')){ut[_0x6487('0x77')](_0x22c64e,_0x6487('0xee'));logger[_0x6487('0x66')](_0x6487('0xef'),_0x505a90[_0x6487('0xbc')],'\x20Queue',_0x22c64e['name'],_0x6487('0x6a'),_0x22c64e['originated']);}if(_0x535331!==_0x6487('0xab')){delete this[_0x6487('0x14')][_0x34a484['linkedid']];delete this[_0x6487('0x14')][_0x34a484[_0x6487('0xf0')]];}}};Preview[_0x6487('0xc')]['callProgressDetectingAgent']=function(_0x3dd4b3,_0xfe1b08,_0x4d3ffe){if(_[_0x6487('0xf1')](_0xfe1b08)&&_0x6487('0xf2')!==typeof _0xfe1b08){return;}if(_[_0x6487('0xf1')](_0x4d3ffe)&&_0x6487('0xf2')!==typeof _0x4d3ffe){return;}switch(_0x4d3ffe[_0x6487('0xf3')]){case'0':ut[_0x6487('0xf4')](_0x3dd4b3,0x0,'NoSuchNumber');rpcDb[_0x6487('0xf5')](_0x3dd4b3,'[callProgressDetectingAgent][logNoSuch]');break;case'3':ut[_0x6487('0xf4')](_0x3dd4b3,0x3,_0x6487('0xc7'));rpcDb[_0x6487('0xf5')](_0x3dd4b3,_0x6487('0xf6'));break;case'5':ut['logAgent'](_0x3dd4b3,0x5,_0x6487('0xbf'));rpcDb[_0x6487('0xf5')](_0x3dd4b3,_0x6487('0xf7'));break;case'8':ut[_0x6487('0xf4')](_0x3dd4b3,0x8,_0x6487('0xcf'));rpcDb['createAgentHistory'](_0x3dd4b3,_0x6487('0xf8'));break;case'22':ut[_0x6487('0xf4')](_0x3dd4b3,0x16,'AnswerAGI');rpcDb[_0x6487('0xf5')](_0x3dd4b3,_0x6487('0xf9'));break;default:ut[_0x6487('0xf4')](_0x3dd4b3,0xc,_0x4d3ffe[_0x6487('0xf3')]);rpcDb['createAgentHistory'](_0x3dd4b3,'[callProgressDetectingAgent][logCongestion]');}ut['updateOriginated'](_0xfe1b08,_0x6487('0xfa'));logger[_0x6487('0x66')](_0x6487('0xfb'),_0x3dd4b3[_0x6487('0xbc')],_0x6487('0xae'),_0xfe1b08['name'],'originated:\x20',_0xfe1b08[_0x6487('0x55')]);delete this['actions'][_0x3dd4b3[_0x6487('0xbc')]];};Preview[_0x6487('0xc')][_0x6487('0xfc')]=function(_0x3f760b,_0x3a71cc,_0x115ad1,_0x24c1d6,_0x11bd17){var _0x56049a=this;return new BPromise(function(_0x485be2,_0x2bf4a9){if(_[_0x6487('0x65')](_0x3a71cc)||_[_0x6487('0x65')](_0x3a71cc['Contact'])||_[_0x6487('0x65')](_0x3a71cc[_0x6487('0xfd')][_0x6487('0xfe')])||_[_0x6487('0x65')](_0x3a71cc[_0x6487('0x70')])){_0x2bf4a9(ut[_0x6487('0x5a')]('Contact\x20is\x20undefined',_0x24c1d6,_0x11bd17));return;}var _0x29a2be=uuid['v4']();var _0x137d5b=_0x56049a['campaignsPreview'][_0x3a71cc['Queue']['name']];var _0xbb38e5=_0x115ad1?_0x56049a[_0x6487('0x15')][_0x115ad1]['id']:undefined;_0x56049a[_0x6487('0x14')][_0x29a2be]=new Action(_0x3a71cc,_0x137d5b,_0x29a2be,_0x115ad1,_0xbb38e5);var _0x1a973d=_0x56049a['actions'][_0x29a2be];_0x1a973d[_0x6487('0xa8')]=_0x24c1d6;_0x1a973d[_0x6487('0xa9')]=_0x11bd17;_0x1a973d[_0x6487('0xff')]=_0x115ad1;if(_[_0x6487('0x100')](_0x3f760b)){_0x56049a['execCall'](_0x1a973d,_0x137d5b,_0x3a71cc,_0x115ad1)[_0x6487('0x81')](function(_0x3955c5){logger[_0x6487('0x66')](_0x6487('0x101'),_0x6487('0x102')+_0x1a973d[_0x6487('0x69')]+'\x20IdHopper:\x20'+_0x1a973d[_0x6487('0x103')],JSON[_0x6487('0x4e')](_0x3955c5));ami[_0x6487('0x23')](_0x6487('0x104'),ut[_0x6487('0x9d')](_0x1a973d,_0x6487('0x105'),_0x56049a[_0x6487('0x11')][_0x1a973d['queue']]));_0x485be2(ut[_0x6487('0x5a')]('Calling'));})[_0x6487('0x75')](function(_0x12dc17){ut[_0x6487('0x5c')](_0x6487('0x106'),_0x12dc17);_0x2bf4a9(ut[_0x6487('0x5a')](_0x6487('0x107'),_0x24c1d6,_0x11bd17));});}else{_0x137d5b['outboundBlacklistCallsDay']+=0x1;ut['logBlacklist'](_0x1a973d);rpcDb['createHistory'](_0x1a973d,_0x6487('0x108'));delete _0x56049a[_0x6487('0x14')][_0x29a2be];_0x2bf4a9(ut[_0x6487('0x5a')](_0x6487('0x109'),_0x24c1d6,_0x11bd17));}});};Preview[_0x6487('0xc')][_0x6487('0x95')]=function(_0x22717b){return!_[_0x6487('0x65')](_0x22717b)&&!_['isNil'](_0x22717b[_0x6487('0x26')])&&!_['isNil'](_0x22717b[_0x6487('0x4b')])&&_0x22717b['active']&&!_[_0x6487('0x65')](this[_0x6487('0x13')][util[_0x6487('0x4f')](_0x6487('0x10a'),_0x22717b['name'])])&&!_[_0x6487('0x65')](this[_0x6487('0x13')][util[_0x6487('0x4f')](_0x6487('0x10a'),_0x22717b['name'])][_0x6487('0x73')])&&(this[_0x6487('0x13')][util['format'](_0x6487('0x10a'),_0x22717b[_0x6487('0x26')])]['status']===_0x6487('0x10b')||this[_0x6487('0x13')][util[_0x6487('0x4f')](_0x6487('0x10a'),_0x22717b[_0x6487('0x26')])][_0x6487('0x73')]===_0x6487('0x10c'));};Preview[_0x6487('0xc')]['run']=function(_0x9f47a7,_0x36e38e){var _0x1eb341=this;return new BPromise(function(_0x20ecb1,_0x49bd84){_0x1eb341['execRun'](_0x9f47a7,_0x36e38e)['then'](function(_0x20023e){_0x20ecb1(_['pick'](_0x20023e,[_0x6487('0x5a')]));})['catch'](function(_0x598d74){if(_0x598d74['unlock']){rpcDb['unlockContact'](_0x9f47a7);}if(_0x598d74[_0x6487('0x4b')]){rpcDb[_0x6487('0x87')](_0x9f47a7);}_0x49bd84(_[_0x6487('0x6d')](_0x598d74,[_0x6487('0x5a')]));});});};Preview[_0x6487('0xc')][_0x6487('0x10d')]=function(_0x1364b5,_0xa2c72d){var _0x39c4b9=this;return new BPromise(function(_0x4236d0,_0x550d3b){var _0x388c48,_0x303520;rpcDb[_0x6487('0x10e')](_0x1364b5)['then'](function(_0x136f2c){if(!_[_0x6487('0x65')](_0x136f2c[0x0])){_0x303520=_0x136f2c[0x0][_0x6487('0x10f')]?![]:!![];_0x388c48=_0x136f2c[0x0][_0x6487('0x10f')]?!![]:![];_0x388c48=_0xa2c72d?!![]:_0x388c48;}var _0x2cd346=_0x39c4b9[_0x6487('0x110')](_0x136f2c);if(_0x2cd346[_0x6487('0x111')]){rpcDb['checkIsBlackList'](_[_0x6487('0x6d')](_0x136f2c[0x0],[_0x6487('0x70'),'Contact.phone']))[_0x6487('0x81')](function(_0x2b1a4c){_0x39c4b9['checkInBlack'](_0x2b1a4c,_0x136f2c[0x0],_0xa2c72d,_0x303520,_0x388c48)['then'](function(_0x1979e3){_0x4236d0(_0x1979e3);})[_0x6487('0x75')](function(_0x22377b){_0x550d3b(_0x22377b);});})[_0x6487('0x75')](function(_0x4e08a4){ut[_0x6487('0x5c')](_0x6487('0x112'),_0x4e08a4);_0x550d3b(ut[_0x6487('0x5a')](_0x6487('0x113'),_0x303520,_0x388c48));});}else{_0x550d3b(ut[_0x6487('0x5a')](_0x2cd346[_0x6487('0x5a')],_0x303520,_0x388c48));}})['catch'](function(_0x1a6306){ut[_0x6487('0x5c')](_0x6487('0x114'),_0x1a6306);_0x550d3b(ut['message'](_0x6487('0x113'),![],!![]));});});};Preview[_0x6487('0xc')][_0x6487('0x110')]=function(_0x36bdc1){if(_['isNil'](_0x36bdc1)||_['isEmpty'](_0x36bdc1)||!_['isNil'](_0x36bdc1[0x0][_0x6487('0x115')])&&_[_0x6487('0x65')](_0x36bdc1[0x0][_0x6487('0x115')][_0x6487('0x26')])){ut['logger'](_0x6487('0x116'),_0x36bdc1);return{'isValid':![],'message':_0x6487('0x117')};}var _0x89c83d=this[_0x6487('0x11')][_0x36bdc1[0x0]['Queue'][_0x6487('0x26')]];_0x89c83d['message']='ACTIVE';if(_['isNil'](_0x89c83d)){ut[_0x6487('0x5c')]('[Preview][validateContact][Empty\x20Campaign]',_0x89c83d);return{'isValid':![],'message':_0x6487('0x118')};}if(!this['isTrunkReachable'](_0x89c83d[_0x6487('0x4a')])){ut[_0x6487('0x5c')](_0x6487('0x119'),_0x6487('0x11a')+_0x89c83d['name']+_0x6487('0x11b'));if(!this['isTrunkReachable'](_0x89c83d[_0x6487('0x96')])){ut[_0x6487('0x5c')](_0x6487('0x119'),_0x89c83d[_0x6487('0x26')]+_0x6487('0x11c'));return{'isValid':![],'message':_0x6487('0x11d')};}}if(!ut[_0x6487('0x94')](_0x89c83d[_0x6487('0x61')])){ut[_0x6487('0x5c')]('[Preview][validateContact][Campaign\x20Active]',_0x89c83d[_0x6487('0x26')]+_0x6487('0x11e'));return{'isValid':![],'message':'campaign\x20Name:\x20'+_0x89c83d[_0x6487('0x26')]+'\x20Not\x20Active'};}return{'isValid':!![],'message':_0x6487('0x11f')};};Preview['prototype'][_0x6487('0x120')]=function(_0x29b8da,_0x243919,_0x311dcd,_0x12afc7){var _0x4179ee=this;return new BPromise(function(_0x208f83,_0x23caae){var _0x4baa5c=_0x29b8da[_0x6487('0xbc')];var _0x1c3b29=_0x4179ee[_0x6487('0x95')](_0x243919['Trunk'])?util[_0x6487('0x4f')]('SIP/%s/%s%s',_0x243919['Trunk'][_0x6487('0x26')],_['isNil'](_0x243919[_0x6487('0x121')])?'':_0x243919['dialPrefix'][_0x6487('0x122')]()||'',_0x243919['dialCutDigit']>0x0?_0x311dcd[_0x6487('0xfd')][_0x6487('0xfe')][_0x6487('0x123')](_0x243919[_0x6487('0x124')]):_0x311dcd[_0x6487('0xfd')]['phone']):util['format'](_0x6487('0x125'),_['isNil'](_0x243919[_0x6487('0x96')])?_0x243919['Trunk'][_0x6487('0x26')]:_0x243919[_0x6487('0x96')]['name'],_[_0x6487('0x65')](_0x243919[_0x6487('0x121')])?'':_0x243919[_0x6487('0x121')][_0x6487('0x122')]()||'',_0x243919[_0x6487('0x124')]>0x0?_0x311dcd[_0x6487('0xfd')][_0x6487('0xfe')][_0x6487('0x123')](_0x243919['dialCutDigit']):_0x311dcd[_0x6487('0xfd')][_0x6487('0xfe')]);var _0x320134=_0x4179ee[_0x6487('0x95')](_0x243919[_0x6487('0x4a')])?ut[_0x6487('0x126')](_0x243919[_0x6487('0x4a')]['callerid'],_0x243919[_0x6487('0x127')],_0x243919[_0x6487('0x128')]>0x0?ut[_0x6487('0x129')](_0x243919['dialOriginateCallerIdNumber'],_0x243919['dialRandomLastDigitCallerIdNumber']):_0x243919['dialOriginateCallerIdNumber']):ut[_0x6487('0x126')](_[_0x6487('0x65')](_0x243919['TrunkBackup'])?_0x243919[_0x6487('0x4a')][_0x6487('0x4c')]:_0x243919[_0x6487('0x96')][_0x6487('0x4c')],_0x243919[_0x6487('0x127')],_0x243919[_0x6487('0x128')]>0x0?ut['getCallerIdRandom'](_0x243919[_0x6487('0x31')],_0x243919['dialRandomLastDigitCallerIdNumber']):_0x243919['dialOriginateCallerIdNumber']);if(_0x320134){_0x29b8da[_0x6487('0x12a')]=ut[_0x6487('0x12b')](_0x320134);_0x29b8da['originatecalleridnum']=ut[_0x6487('0x12c')](_0x320134);}var _0x319d2a=ut[_0x6487('0x12d')](_0x243919,_0x311dcd,_0x1c3b29,_0x320134,_0x4baa5c,_0x29b8da);_['merge'](_0x29b8da,ut[_0x6487('0x12e')](_0x319d2a));_0x29b8da[_0x6487('0x12f')]=moment()['format'](_0x6487('0x88'));ami[_0x6487('0x72')](ut[_0x6487('0x130')](_0x29b8da,_0x243919,_0x319d2a,_0x29b8da[_0x6487('0xa9')],_0x12afc7))[_0x6487('0x81')](function(_0x40d39b){_0x243919['originated']+=0x1;logger[_0x6487('0x66')](_0x6487('0x131'),_0x4baa5c,'\x20Queue',_0x243919[_0x6487('0x26')],_0x6487('0x6a'),_0x243919[_0x6487('0x55')]);_0x208f83(_0x40d39b);})['catch'](function(_0x508e0e){ut[_0x6487('0xf4')](_0x29b8da,0xe,_0x6487('0x132'));rpcDb[_0x6487('0xf5')](_0x29b8da,_0x6487('0x133'));_0x23caae(_0x508e0e);});});};Preview[_0x6487('0xc')][_0x6487('0x1d')]=function(_0x180355){if(this['actions'][_0x180355[_0x6487('0xaa')]]){this[_0x6487('0x14')][_0x180355[_0x6487('0xaa')]]['channel']=_0x180355['channel'];}};Preview[_0x6487('0xc')][_0x6487('0x17')]=function(_0x24536c){var _0x3099b1=this;var _0x31392a=this[_0x6487('0x14')][_0x24536c[_0x6487('0x134')]];if(_0x31392a){if(_0x31392a[_0x6487('0xff')]&&this[_0x6487('0x15')][_0x31392a['lookAgent']]){ut[_0x6487('0x135')](_0x31392a,this['agents'][_0x31392a[_0x6487('0xff')]][_0x6487('0x26')],this[_0x6487('0x15')][_0x31392a['lookAgent']]['id']);}var _0x22b570=_[_0x6487('0x136')](_0x31392a);_0x22b570[_0x6487('0x137')]=moment()[_0x6487('0x4f')](_0x6487('0x88'));var _0x4dbdaf=_0x3099b1[_0x6487('0x11')][_0x31392a[_0x6487('0x69')]];if(ut['isFailure'](_0x24536c[_0x6487('0x138')])){if(_0x31392a['unlockAgent']){rpcDb[_0x6487('0x139')](_0x31392a[_0x6487('0x103')]);}if(_0x31392a['activeContact']){rpcDb[_0x6487('0x87')](_0x31392a[_0x6487('0x103')]);}ami[_0x6487('0x23')](_0x6487('0x13a'),ut['buildObj'](_0x31392a,_0x6487('0x13b'),this[_0x6487('0x11')][_0x31392a[_0x6487('0x69')]]));this['callProgressDetectingAgent'](_0x22b570,_0x4dbdaf,_0x24536c);}else{_0x31392a[_0x6487('0x12f')]=moment()['format'](_0x6487('0x88'));ut[_0x6487('0xf4')](_0x22b570,0x4,_0x6487('0xb6'));rpcDb[_0x6487('0xf5')](_0x22b570,_0x6487('0x13c'));}}};Preview[_0x6487('0xc')][_0x6487('0x13d')]=function(_0x3476a5){var _0x48d9d8=this;var _0x4b70d3=this[_0x6487('0x14')][_0x3476a5['linkedid']];var _0x1365a7;if(_0x4b70d3){_0x1365a7=this[_0x6487('0x11')][_0x4b70d3[_0x6487('0x69')]];logger[_0x6487('0x66')](_0x6487('0x13e'),_0x3476a5[_0x6487('0xaa')],'\x20Queue',_0x1365a7[_0x6487('0x26')],_0x6487('0x6b'),_0x1365a7[_0x6487('0x29')]);}if(this[_0x6487('0x14')][_0x3476a5[_0x6487('0xaa')]]&&_0x3476a5[_0x6487('0xaa')]!==_0x3476a5['uniqueid']){if(_0x3476a5['cause']==='16'&&this[_0x6487('0x14')][_0x3476a5[_0x6487('0xaa')]]['dialAnswer']){this[_0x6487('0x98')](_0x3476a5,_0x3476a5[_0x6487('0xaa')],_0x3476a5['cause']);}else if(this['actions'][_0x3476a5['linkedid']][_0x6487('0x6c')]){logger['info'](_0x6487('0x13f'),_0x3476a5[_0x6487('0xaa')],_0x3476a5['cause'],_0x6487('0xae'),_0x1365a7[_0x6487('0x26')],_0x6487('0x6b'),_0x1365a7[_0x6487('0x29')]);this[_0x6487('0x98')](_0x3476a5,_0x3476a5[_0x6487('0xaa')],_0x3476a5[_0x6487('0x140')]);}}else if(_0x4b70d3&&_[_0x6487('0x65')](_0x4b70d3[_0x6487('0x141')])&&_0x1365a7[_0x6487('0x142')]&&_0x3476a5[_0x6487('0xaa')]===_0x3476a5[_0x6487('0xbc')]&&_[_0x6487('0x65')](_0x3476a5[_0x6487('0xf3')])&&_0x3476a5['cause']==='16'&&_0x3476a5['channelstate']==='6'&&_[_0x6487('0xf1')](_0x4b70d3[_0x6487('0x143')])){if(_0x4b70d3['unlockAgent']){rpcDb[_0x6487('0x139')](_0x4b70d3[_0x6487('0x103')]);}if(_0x4b70d3[_0x6487('0xa9')]){rpcDb[_0x6487('0x87')](_0x4b70d3[_0x6487('0x103')]);}_0x3476a5[_0x6487('0xf3')]='22';this[_0x6487('0x144')](_0x4b70d3,_0x1365a7,_0x3476a5);}else if(_0x4b70d3&&_0x4b70d3['transfer']){if(_0x3476a5[_0x6487('0x140')]==='16'&&this[_0x6487('0x14')][_0x3476a5[_0x6487('0xaa')]]['dialAnswer']){logger['info'](_0x6487('0x145'),_0x3476a5[_0x6487('0xaa')],_0x3476a5[_0x6487('0x140')],'\x20Queue',_0x1365a7['name'],_0x6487('0x6b'),_0x1365a7[_0x6487('0x29')]);this[_0x6487('0x98')](_0x3476a5,_0x3476a5['linkedid'],_0x3476a5[_0x6487('0x140')]);}else if(this[_0x6487('0x14')][_0x3476a5['linkedid']][_0x6487('0x6c')]){logger[_0x6487('0x66')](_0x6487('0x13f'),_0x3476a5[_0x6487('0xaa')],_0x3476a5[_0x6487('0x140')],'\x20Queue',_0x1365a7[_0x6487('0x26')],_0x6487('0x6b'),_0x1365a7['pTalking']);this['callProgressDetectingCustomer'](_0x3476a5,_0x3476a5['linkedid'],_0x3476a5['cause']);}}};Preview['prototype'][_0x6487('0x1b')]=function(_0x51b810){if(this[_0x6487('0x14')][_0x51b810[_0x6487('0xf0')]]&&_0x51b810[_0x6487('0xf0')]!==_0x51b810[_0x6487('0x146')]){this['callProgressDetectingCustomer'](_0x51b810,_0x51b810[_0x6487('0xf0')],_0x51b810[_0x6487('0xe5')]);}};Preview[_0x6487('0xc')][_0x6487('0x147')]=function(_0xd01cde){if(this[_0x6487('0x14')][_0xd01cde['linkedid']]&&_0xd01cde[_0x6487('0xaa')]!==_0xd01cde['uniqueid']&&!this[_0x6487('0x14')][_0xd01cde[_0x6487('0xaa')]][_0x6487('0x6c')]){if(_0xd01cde[_0x6487('0x140')]==='1'){this[_0x6487('0x98')](_0xd01cde,_0xd01cde[_0x6487('0xaa')],_0xd01cde['cause']);}}};Preview[_0x6487('0xc')][_0x6487('0x148')]=function(_0x3e1a3c,_0x1dcce2,_0x1b8128){if(this[_0x6487('0x14')][_0x3e1a3c]){if(_[_0x6487('0x65')](this[_0x6487('0x14')][_0x3e1a3c]['variables'])){this[_0x6487('0x14')][_0x3e1a3c]['variables']={};}this['actions'][_0x3e1a3c]['variables'][_0x1dcce2]=_0x1b8128;}};Preview[_0x6487('0xc')]['syncVarSet']=function(_0x249590){try{if(!_[_0x6487('0x65')](_0x249590)){if(ut[_0x6487('0x149')](_[_0x6487('0x14a')](_0x249590[_0x6487('0x14b')])[0x0])){this[_0x6487('0x148')](_0x249590[_0x6487('0xbc')],_[_0x6487('0x14a')](_0x249590[_0x6487('0x14b')])[0x0],_0x249590[_0x6487('0x14c')]);}}}catch(_0x26dfae){logger['error']('[syncVarSet][Preview]',util[_0x6487('0x14d')](_0x26dfae,{'showHidden':![],'depth':null}));}};Preview[_0x6487('0xc')][_0x6487('0x1f')]=function(_0x16602b){if(_0x16602b){if(this['actions'][_0x16602b[_0x6487('0x14e')]]){this[_0x6487('0x14')][_0x16602b[_0x6487('0x14e')]]['transfer']=!![];}}};Preview[_0x6487('0xc')]['syncBlindTransfer']=function(_0x4b0293){if(_0x4b0293){if(this[_0x6487('0x14')][_0x4b0293[_0x6487('0x14f')]]){this[_0x6487('0x14')][_0x4b0293[_0x6487('0x14f')]][_0x6487('0x143')]=!![];}}};module[_0x6487('0x150')]=Preview;