cb515072c709137210a615e6575acfe133ca1688
[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 _0x31f0=['totalGlobal','dialGlobalMaxRetry','createCustomerFinal','[callProgressDetectingCustomer][logNoSuchGlobal]','rescheduleContact','unlockAgent','activeContact','actioncountonusuch','idContact','swapAdditionalPhones','ANSWER','answertime','[syncHangup][talking][increment]','uniqueid','custom:agentconnect','connect','acw','complete','total','answered','[16]','countglobal','Answer','[callProgressDetectingCustomer][logAnswer]','[callProgressDetectingCustomer][logAnswerGlobal]','talktime','[syncHangup][talking][decrement]','\x20Queue','linkedid','BUSY','countbusyretry','Busy','dialBusyRetryFrequency','custom:agentbusy','busy','[callProgressDetectingCustomer][logBusy]','cloneAction','Global','[callProgressDetectingCustomer][logBusyGlobal]','scheduledAt','incrementPreviewCounters','NOANSWER','countnoanswerretry','dialNoAnswerRetryFrequency','custom:agentnoanswer','noanswer','verifyAdditionalPhones','[callProgressDetectingCustomer][logNoAnswerGlobal]','dialNoAnswerMaxRetry','[callProgressDetectingCustomer][logNoAnswer]','countcongestionretry','Congestion','dialCongestionRetryFrequency','custom:agentcongestion','congestion','[callProgressDetectingCustomer][logCongestion]','dialCongestionMaxRetry','CANCEL','AgentReject','dialAgentRejectRetryFrequency','custom:agentreject','agentreject','[syncHangupRequest][logAgentReject]','[callProgressDetectingCustomer][logAgentReject]','countagentrejectretry','countabandonedretry','Abandoned','[callProgressDetectingCustomer][logAbandoned]','dialAbandonedRetryFrequency','cause-txt','dialstatus','[callProgressDetectingCustomer][hangupInAMD]','custom:amd','[callProgressDetectingCustomer][machine]','[default]','[callProgressDetectingCustomer][logUnknown]','[callProgressDetectingCustomer][logUnknownGlobal]','[callProgressDetectingCustomer]','[originated][decrement][callProgressDetectingCustomer]','callProgressDetectingAgent','isUndefined','object','reason','logAgent','NoSuchNumber','createAgentHistory','NoAnswer','[callProgressDetectingAgent][logNoAnswer]','[callProgressDetectingAgent][logCongestion]','AnswerAGI','updateOriginated','[callProgressDetectingAgent]','[originated][decrement][callProgressDetectingAgent]','resolve','[swapAdditionalPhone]\x20','[incrementPreviewCounters]\x20','checkInBlack','isNil','Contact','phone','Contact\x20is\x20undefined','isEmpty','execCall','[Preview][execCall][success]','Queue:\x20','\x20IdHopper:\x20','custom:agentcalled','called','[Preview][execCall][failure]','logBlacklist','createHistory','[Blacklist][error]','Contact\x20in\x20black\x20List','SIP/%s','status','reachable','unmonitored','execRun','pick','unlock','getContactPreview','recallme','validateContact','checkIsBlackList','[Preview][getContactPreview]','Call\x20unsuccessful','Empty\x20Contact','Empty\x20Campaign','campaign\x20Name:\x20','\x20Trunk\x20is\x20not\x20active','[Preview][validateContact][Trunk\x20not\x20working\x20correctly]','\x20Trunk\x20Backup\x20is\x20not\x20active','isActive','\x20Not\x20Active','Is\x20Valid','SIP/%s/%s%s','dialPrefix','substring','dialCutDigit','trim','getCallerId','callerid','getCallerIdRandom','dialRandomLastDigitCallerIdNumber','originatecalleridname','extractCalleridName','originatecalleridnum','extractCalleridNumber','addVariables','merge','toLowerVariables','variablesAction','[originated][increment]','OriginateError','logLookAgent','lookAgent','clone','responsetime','isFailure','response','unlockContact','custom:agentringnoanswer','rejected','starttime','[callProgressDetectingAgent][logAnswer]','[syncHangup][talking]','cause','callProgressDetectingCustomer','[syncHangup][talking][cause]','dialQueueProject','channelstate','transfer','destlinkedid','addVariable','variables','filterKey','variable','error','[syncVarSet][Preview]','inspect','transfertargetlinkedid','transfererlinkedid','exports','util','bluebird','moment','md5','ioredis','../../../config/environment','preview','../../../config/logger','../rpc/cmHopperAdditionalPhone','./util/util','redis','defaults','socket.io-emitter','prototype','enqueue','tail','sequence','campaignsPreview','voiceQueues','trunks','actions','agents','clockClearZombieChannels','originateresponse','syncOriginateResponse','bind','hanguprequest','syncHangupRequest','syncDialEnd','syncNewExten','varset','syncVarSet','attendedtransfer','syncAttendedTransfer','blindtransfer','syncBlindTransfer','loopCampaigns','emit','outbound','name','loggedIn','pTalking','sumBillable','sumDuration','talking','type','unmanaged','abandoned','loggedInDb','dialActive','dialOriginateCallerIdName','dialOriginateCallerIdNumber','dialOriginateTimeout','outboundAnswerAgiCallsDay','outboundAnswerCallsDay','outboundBlacklistCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundDropCallsDayACS','outboundDropCallsDayTimeout','outboundNoAnswerCallsDay','outboundNoSuchCallsDay','outboundOriginateFailureCallsDay','outboundReCallsDay','outboundRejectCallsDay','outboundUnknownCallsDay','outboundAbandonedCallsDay','predictiveIntervalAnsweredCalls','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','predictiveIntervalDroppedCallsTimeout','predictiveIntervalErlangCalls','predictiveIntervalErlangCallsDroppedCalls','predictiveIntervalHitRate','predictiveIntervalMultiplicativeFactor','predictiveIntervalPauses','predictiveIntervalAvailable','predictiveIntervalTotalCalls','message','originated','erlangCalls','erlangCallToSecond','erlangAbandonmentRate','startPredictive','startProgressive','Trunk','active','Interval','voice_queue:save','info','[DEBUG]\x20Emit\x20voice_queue_channel:remove\x20event','stringify','format','voice_queue_channel:remove','voice_queue_presence:remove','sendMessageOneNotActive','available','paused','NOT_ACTIVE','logger','\x20is\x20not\x20active','DEACTIVATED','[CampaignPreview]\x20Campaign\x20Queue:\x20','\x20is\x20deactivated','hasOwnProperty','dialMethod','booked','clearZombieChannels','setMessage','dialPreviewAutoRecallMe','recallMe','clearZombieChannel','[clearZombieChannels][talking]','Queue','originated:\x20','queue','pTalking:\x20','dialAnswer','VoiceQueueId','Action','channel','[clearZombieChannel]','decrementTalkink','loggerError','[Dialer][checkChannel][Preview]','[action]','getContactRecallMe','agentReadyId','then','length','getDiff','dialRecallMeTimeout','Agent','voicePause','run','logger2','disableContact','YYYY-MM-DD\x20HH:mm:ss','logCustomer','RecallInQueue','dialRecallInQueue','rescheduleContactInQueue','createBody','createCustomerHistory','[HistoryDialRecallInQueue][historyCatch]','RecallFailedTimeout','[HistoryRecallClose]','catch','IsNotLoggedIn','isTrunkReachable','TrunkBackup','ACTIVE','countnosuchnumberretry','custom:agentnosuchnumber','buildObj','[callProgressDetectingCustomer][logNoSuch]','additional','dialNoSuchNumberRetryFrequency','callAdditionalPhoneAfterMin'];(function(_0x322224,_0xaf619e){var _0x5a6505=function(_0x4c185c){while(--_0x4c185c){_0x322224['push'](_0x322224['shift']());}};_0x5a6505(++_0xaf619e);}(_0x31f0,0xb7));var _0x031f=function(_0x203fc6,_0x2d4440){_0x203fc6=_0x203fc6-0x0;var _0x6fd982=_0x31f0[_0x203fc6];return _0x6fd982;};'use strict';var util=require(_0x031f('0x0'));var _=require('lodash');var BPromise=require(_0x031f('0x1'));var uuid=require('uuid');var moment=require(_0x031f('0x2'));var md5=require(_0x031f('0x3'));var Redis=require(_0x031f('0x4'));var config=require(_0x031f('0x5'));var logger=require('../../../config/logger')(_0x031f('0x6'));var loggerAction=require(_0x031f('0x7'))('actionPreview');var ami=require('../ami');var rpcDb=require('./rpcDb');var cmHopperAdditionalPhone=require(_0x031f('0x8'));var Action=require('./action');var ut=require(_0x031f('0x9'));config[_0x031f('0xa')]=_[_0x031f('0xb')](config[_0x031f('0xa')],{'host':'localhost','port':0x18eb});var io=require(_0x031f('0xc'))(new Redis(config[_0x031f('0xa')]));var Sequence=function(){};Sequence[_0x031f('0xd')][_0x031f('0xe')]=function(_0x3dd729){this[_0x031f('0xf')]=this[_0x031f('0xf')]?this[_0x031f('0xf')]['finally'](_0x3dd729):_0x3dd729();};function Preview(_0x5c3657){this[_0x031f('0x10')]=new Sequence();this[_0x031f('0x11')]=_0x5c3657[_0x031f('0x12')];this[_0x031f('0x13')]=_0x5c3657[_0x031f('0x13')];this[_0x031f('0x14')]={};this['agents']=_0x5c3657[_0x031f('0x15')];this[_0x031f('0x16')]=0x0;ami['on'](_0x031f('0x17'),this[_0x031f('0x18')][_0x031f('0x19')](this));ami['on']('hangup',this['syncHangup'][_0x031f('0x19')](this));ami['on'](_0x031f('0x1a'),this[_0x031f('0x1b')][_0x031f('0x19')](this));ami['on']('dialend',this[_0x031f('0x1c')][_0x031f('0x19')](this));ami['on']('newexten',this[_0x031f('0x1d')]['bind'](this));ami['on'](_0x031f('0x1e'),this[_0x031f('0x1f')][_0x031f('0x19')](this));ami['on'](_0x031f('0x20'),this[_0x031f('0x21')][_0x031f('0x19')](this));ami['on'](_0x031f('0x22'),this[_0x031f('0x23')][_0x031f('0x19')](this));this[_0x031f('0x24')](this[_0x031f('0x11')]);}function emit(_0x48a76e,_0xf72793,_0x33926c){io['to'](_0x48a76e)[_0x031f('0x25')](_0xf72793,_0x33926c);}function emitCampaignPreview(_0x4d6706){if(_0x4d6706['type']===_0x031f('0x26')){var _0x4d0f92={'id':_0x4d6706['id'],'name':_0x4d6706[_0x031f('0x27')],'strategy':_0x4d6706['strategy'],'answered':_0x4d6706['answered'],'available':_0x4d6706['available'],'loggedIn':_0x4d6706[_0x031f('0x28')],'pTalking':_0x4d6706[_0x031f('0x29')],'sumBillable':_0x4d6706[_0x031f('0x2a')],'sumDuration':_0x4d6706[_0x031f('0x2b')],'sumHoldTime':_0x4d6706['sumHoldTime']||0x0,'talking':_0x4d6706[_0x031f('0x2c')],'total':_0x4d6706['total'],'type':_0x4d6706[_0x031f('0x2d')],'unmanaged':_0x4d6706[_0x031f('0x2e')],'abandoned':_0x4d6706[_0x031f('0x2f')],'waiting':_0x4d6706['waiting'],'loggedInDb':_0x4d6706[_0x031f('0x30')],'dialActive':_0x4d6706[_0x031f('0x31')],'dialMethod':_0x4d6706['dialMethod'],'dialOriginateCallerIdName':_0x4d6706[_0x031f('0x32')],'dialOriginateCallerIdNumber':_0x4d6706[_0x031f('0x33')],'dialOriginateTimeout':_0x4d6706[_0x031f('0x34')],'dialPrefix':_0x4d6706['dialPrefix'],'outboundAnswerAgiCallsDay':_0x4d6706[_0x031f('0x35')],'outboundAnswerCallsDay':_0x4d6706[_0x031f('0x36')],'outboundBlacklistCallsDay':_0x4d6706[_0x031f('0x37')],'outboundBusyCallsDay':_0x4d6706[_0x031f('0x38')],'outboundCongestionCallsDay':_0x4d6706[_0x031f('0x39')],'outboundDropCallsDayACS':_0x4d6706[_0x031f('0x3a')],'outboundDropCallsDayCallersExit':_0x4d6706['outboundDropCallsDayCallersExit'],'outboundDropCallsDayTimeout':_0x4d6706[_0x031f('0x3b')],'outboundNoAnswerCallsDay':_0x4d6706[_0x031f('0x3c')],'outboundNoSuchCallsDay':_0x4d6706[_0x031f('0x3d')],'outboundOriginateFailureCallsDay':_0x4d6706[_0x031f('0x3e')],'outboundReCallsDay':_0x4d6706[_0x031f('0x3f')],'outboundRejectCallsDay':_0x4d6706[_0x031f('0x40')],'outboundUnknownCallsDay':_0x4d6706[_0x031f('0x41')],'outboundAbandonedCallsDay':_0x4d6706[_0x031f('0x42')],'predictiveIntervalAnsweredCalls':_0x4d6706[_0x031f('0x43')],'predictiveIntervalAvgHoldtime':_0x4d6706[_0x031f('0x44')],'predictiveIntervalAvgTalktime':_0x4d6706[_0x031f('0x45')],'predictiveIntervalDroppedCallsCallersExit':_0x4d6706['predictiveIntervalDroppedCallsCallersExit'],'predictiveIntervalDroppedCallsTimeout':_0x4d6706[_0x031f('0x46')],'predictiveIntervalErlangCalls':_0x4d6706[_0x031f('0x47')],'predictiveIntervalErlangCallsDroppedCalls':_0x4d6706[_0x031f('0x48')],'predictiveIntervalHitRate':_0x4d6706[_0x031f('0x49')],'predictiveIntervalMultiplicativeFactor':_0x4d6706[_0x031f('0x4a')],'predictiveIntervalPauses':_0x4d6706[_0x031f('0x4b')],'predictiveIntervalAvailable':_0x4d6706[_0x031f('0x4c')],'predictiveIntervalTotalCalls':_0x4d6706[_0x031f('0x4d')],'message':_0x4d6706[_0x031f('0x4e')],'originated':_0x4d6706[_0x031f('0x4f')],'erlangCalls':_0x4d6706[_0x031f('0x50')],'erlangCallToSecond':_0x4d6706[_0x031f('0x51')],'erlangAbandonmentRate':_0x4d6706[_0x031f('0x52')],'erlangBusyFactor':_0x4d6706['erlangBusyFactor'],'startPredictive':_0x4d6706[_0x031f('0x53')],'startProgressive':_0x4d6706[_0x031f('0x54')]};if(_0x4d6706['Trunk']){_0x4d0f92[_0x031f('0x55')]={'id':_0x4d6706[_0x031f('0x55')]['id'],'name':_0x4d6706['Trunk'][_0x031f('0x27')],'active':_0x4d6706[_0x031f('0x55')][_0x031f('0x56')],'callerid':_0x4d6706[_0x031f('0x55')]['callerid']};}if(_0x4d6706['Interval']){_0x4d0f92[_0x031f('0x57')]={'id':_0x4d6706['Interval']['id'],'name':_0x4d6706[_0x031f('0x57')][_0x031f('0x27')]};}var _0x43ef89=md5(JSON['stringify'](_0x4d0f92));if(_0x4d6706['md5']!==_0x43ef89){_0x4d6706[_0x031f('0x3')]=_0x43ef89;emit(util['format']('voice:queue:%s',_0x4d0f92[_0x031f('0x27')]),_0x031f('0x58'),_0x4d0f92);}}}function emitVoiceQueueChannelRemove(_0x2c6e13){logger[_0x031f('0x59')](_0x031f('0x5a'),JSON[_0x031f('0x5b')](_0x2c6e13));emit(util[_0x031f('0x5c')]('voice:queue:%s',_0x2c6e13[_0x031f('0x27')]),_0x031f('0x5d'),_0x2c6e13);io[_0x031f('0x25')](_0x031f('0x5e'),_0x2c6e13);}function notSendMessagesQueue(_0x58daa2){if(_0x58daa2[_0x031f('0x5f')]){if(_0x58daa2[_0x031f('0x4f')]===0x0&&_0x58daa2[_0x031f('0x29')]===0x0){_0x58daa2['sendMessageOneNotActive']=![];_0x58daa2[_0x031f('0x60')]=0x0;_0x58daa2[_0x031f('0x61')]=0x0;_0x58daa2['message']=_0x031f('0x62');ut[_0x031f('0x63')]('[CampaignPreview]\x20Campaign\x20Queue:\x20',_0x58daa2['name']+_0x031f('0x64'));}else{_0x58daa2[_0x031f('0x4e')]=_0x031f('0x65');ut[_0x031f('0x63')](_0x031f('0x66'),_0x58daa2[_0x031f('0x27')]+_0x031f('0x67'));}emitCampaignPreview(_0x58daa2);}}Preview['prototype'][_0x031f('0x24')]=function(){var _0xe71615=this;setInterval(function(){_0xe71615['syncCampaigns']();},0x7cf);};Preview[_0x031f('0xd')]['syncCampaigns']=function(){var _0x456a98=this[_0x031f('0x11')];this['clockClearZombieChannels']+=0x1;for(var _0x1b9b2e in _0x456a98){if(_0x456a98[_0x031f('0x68')](_0x1b9b2e)&&(_0x456a98[_0x1b9b2e][_0x031f('0x69')]==='preview'||_0x456a98[_0x1b9b2e][_0x031f('0x69')]===_0x031f('0x6a'))&&_0x456a98[_0x1b9b2e][_0x031f('0x2d')]===_0x031f('0x26')){if(this[_0x031f('0x16')]>0x7){this[_0x031f('0x16')]=0x0;this[_0x031f('0x6b')]();}}if(_0x456a98[_0x031f('0x68')](_0x1b9b2e)&&_0x456a98[_0x1b9b2e][_0x031f('0x69')]==='preview'&&_0x456a98[_0x1b9b2e][_0x031f('0x2d')]===_0x031f('0x26')){if(_0x456a98[_0x1b9b2e][_0x031f('0x31')]){this[_0x031f('0x6c')](_0x456a98[_0x1b9b2e]);if(_0x456a98[_0x1b9b2e][_0x031f('0x6d')])this[_0x031f('0x6e')](_0x456a98[_0x1b9b2e]);}else{notSendMessagesQueue(_0x456a98[_0x1b9b2e]);}}}};Preview[_0x031f('0xd')][_0x031f('0x6f')]=function(_0x3411f1){var _0x5f033b=this;this[_0x031f('0x10')]['enqueue'](function(){if(!_['isNil'](_0x5f033b[_0x031f('0x14')][_0x3411f1])){loggerAction[_0x031f('0x59')](_0x031f('0x70'),_0x3411f1,_0x031f('0x71'),_0x5f033b[_0x031f('0x14')][_0x3411f1]['queue'],_0x031f('0x72'),JSON[_0x031f('0x5b')](_0x5f033b[_0x031f('0x11')][_0x5f033b['actions'][_0x3411f1][_0x031f('0x73')]][_0x031f('0x4f')]),_0x031f('0x74'),JSON[_0x031f('0x5b')](_0x5f033b[_0x031f('0x11')][_0x5f033b[_0x031f('0x14')][_0x3411f1]['queue']]['pTalking']),JSON[_0x031f('0x5b')](_0x5f033b['actions'][_0x3411f1][_0x031f('0x75')]),JSON[_0x031f('0x5b')](_['pick'](_0x5f033b[_0x031f('0x14')][_0x3411f1],['contactId','UserId',_0x031f('0x76'),'ListId'])));return ami[_0x031f('0x77')]({'action':'status','channel':_0x5f033b[_0x031f('0x14')][_0x3411f1][_0x031f('0x78')]})['catch'](function(_0x3a9fea){if(_0x3a9fea[_0x031f('0x4e')]==='No\x20such\x20channel'){setTimeout(function(){if(_0x5f033b[_0x031f('0x14')][_0x3411f1]){ut['updateOriginated'](_0x5f033b[_0x031f('0x11')][_0x5f033b['actions'][_0x3411f1][_0x031f('0x73')]],_0x031f('0x79'));if(_0x5f033b[_0x031f('0x14')][_0x3411f1][_0x031f('0x75')]===!![]){ut[_0x031f('0x7a')](_0x5f033b['campaignsPreview'][_0x5f033b[_0x031f('0x14')][_0x3411f1]['queue']],_0x031f('0x79'));ut[_0x031f('0x7b')]('[Dialer][checkChannel][pTalking][Preview]'+_0x3411f1,_0x5f033b[_0x031f('0x14')][_0x3411f1][_0x031f('0x73')]);}ut['loggerError'](_0x031f('0x7c')+_0x3411f1,_0x5f033b[_0x031f('0x14')][_0x3411f1][_0x031f('0x73')]);delete _0x5f033b['actions'][_0x3411f1];}},0x2328);}});}});};Preview[_0x031f('0xd')]['clearZombieChannels']=function(){var _0x254604=this;loggerAction['info'](_0x031f('0x7d'),_['size'](this[_0x031f('0x14')]));for(var _0x27b869 in this['actions']){if(_0x254604['actions'][_0x031f('0x68')](_0x27b869)){_0x254604[_0x031f('0x6f')](_0x27b869);}}};Preview['prototype'][_0x031f('0x6e')]=function(_0xb44c73){var _0x255003=this;rpcDb[_0x031f('0x7e')](_0xb44c73['id'],ut[_0x031f('0x7f')](this[_0x031f('0x15')]))[_0x031f('0x80')](function(_0x405398){if(!_['isNil'](_0x405398)){for(var _0xe452c2=0x0;_0xe452c2<_0x405398[_0x031f('0x81')];_0xe452c2+=0x1){if(ut[_0x031f('0x82')](_0x405398[_0xe452c2]['scheduledat'])<_0xb44c73[_0x031f('0x83')]*0x3c){if(_0x405398[_0xe452c2][_0x031f('0x84')]&&!_0x405398[_0xe452c2]['Agent'][_0x031f('0x85')]){_0x255003[_0x031f('0x86')](_0x405398[_0xe452c2]['id'])[_0x031f('0x80')](ut[_0x031f('0x87')]('[RecallMe]'))['catch'](ut['logger2']('[RecallMe]'));}else{rpcDb[_0x031f('0x88')](_0x405398[_0xe452c2]['id']);}}else{var _0xcf8b7=new Action(_0x405398[_0xe452c2],_0xb44c73);_0xcf8b7['starttime']=moment()[_0x031f('0x5c')](_0x031f('0x89'));_0xb44c73['outboundReCallsDay']+=0x1;ut[_0x031f('0x8a')](_0xcf8b7,0x17,_0x031f('0x8b'));if(_0xb44c73[_0x031f('0x8c')]){rpcDb[_0x031f('0x8d')](ut[_0x031f('0x8e')](_0x405398[_0xe452c2]));rpcDb[_0x031f('0x8f')](_0xcf8b7,_0x031f('0x90'));}else{ut[_0x031f('0x8a')](_0xcf8b7,0x16,_0x031f('0x91'));rpcDb['createCustomerHistory'](_0xcf8b7,_0x031f('0x92'));rpcDb['createCustomerFinal'](_0xcf8b7,_0x031f('0x92'));}}}}})[_0x031f('0x93')](ut[_0x031f('0x87')]('[getContactRecallMe]'));};Preview['prototype'][_0x031f('0x6c')]=function(_0x46af33){_0x46af33[_0x031f('0x5f')]=!![];if(ut[_0x031f('0x94')](_0x46af33['loggedIn'])){_0x46af33[_0x031f('0x4e')]='AGENTS_NOT_LOGGED';}else if(!ut['isActive'](_0x46af33[_0x031f('0x31')])){_0x46af33['message']='NOT_ACTIVE';}else if(!this[_0x031f('0x95')](_0x46af33[_0x031f('0x55')])){if(!this[_0x031f('0x95')](_0x46af33[_0x031f('0x96')])){_0x46af33[_0x031f('0x4e')]='TRUNK_IS_NOT_REACHABLE';}else{_0x46af33['message']=_0x031f('0x97');}}else{_0x46af33['message']=_0x031f('0x97');}emitCampaignPreview(_0x46af33);};Preview[_0x031f('0xd')]['callProgressDetectingCustomer']=function(_0x144011,_0xee136c,_0x439095){var _0x30cb01=this;var _0x14fd99=this[_0x031f('0x14')][_0xee136c];var _0x5bea08=this['campaignsPreview'][_0x14fd99[_0x031f('0x73')]];var _0x232b62;var _0x1bc4de=![];var _0x1d973d=0x2;var _0x6d85c8=0x3;if(_0x5bea08){switch(_0x439095){case'1':_0x5bea08[_0x031f('0x3d')]+=0x1;_0x14fd99[_0x031f('0x98')]+=0x1;_0x14fd99['countglobal']=ut['totalGlobal'](_0x14fd99);ut['logCustomer'](_0x14fd99,0x0,'NoSuchNumber');ami[_0x031f('0x25')](_0x031f('0x99'),ut[_0x031f('0x9a')](_0x14fd99,'nosuchnumber'));rpcDb[_0x031f('0x8f')](_0x14fd99,_0x031f('0x9b'));_0x30cb01['verifyAdditionalPhones'](_0x14fd99,'0',_0x5bea08)[_0x031f('0x80')](function(_0x2c15f4){_0x1bc4de=_0x2c15f4[_0x031f('0x9c')]==0x1;_0x1d973d=_0x5bea08[_0x031f('0x9d')];_0x6d85c8=_0x5bea08[_0x031f('0x9e')];if(!_0x1bc4de){if(ut[_0x031f('0x9f')](_0x14fd99)>=_0x5bea08[_0x031f('0xa0')]){_0x232b62=ut['cloneAction'](_0x14fd99,0xf,'Global');rpcDb[_0x031f('0xa1')](_0x232b62,'[callProgressDetectingCustomer][logNoSuchGlobal]');}else{if(_0x14fd99[_0x031f('0x98')]>=_0x5bea08['dialNoSuchNumberMaxRetry']){rpcDb[_0x031f('0xa1')](_0x14fd99,_0x031f('0xa2'));}else{rpcDb[_0x031f('0xa3')](ut['scheduledAt'](_0x14fd99,_0x031f('0x98'),_0x5bea08['dialNoSuchNumberRetryFrequency']),_0x14fd99[_0x031f('0xa4')],_0x14fd99[_0x031f('0xa5')]);}}delete this[_0x031f('0x14')][_0x144011['linkedid']];}else{_0x14fd99[_0x031f('0x98')]++;logger[_0x031f('0x59')](_0x031f('0xa6'),_0x14fd99[_0x031f('0x98')]);logger[_0x031f('0x59')]('id',_0x14fd99['idContact']);_0x30cb01['incrementPreviewCounters']({'id':_0x14fd99[_0x031f('0xa7')],'field':{'countnosuchnumberretry':_0x14fd99[_0x031f('0x98')]}})['then'](function(){_0x30cb01[_0x031f('0xa8')](_0x14fd99,_0x1d973d,_0x6d85c8)['then'](function(){});});}});break;case _0x031f('0xa9'):var _0x58d820=moment()[_0x031f('0x5c')](_0x031f('0x89'));_0x14fd99['responsetime']=_0x58d820;_0x14fd99[_0x031f('0xaa')]=_0x58d820;_0x14fd99[_0x031f('0x75')]=!![];_0x5bea08[_0x031f('0x29')]+=0x1;logger['info'](_0x031f('0xab'),_0x14fd99[_0x031f('0xac')],'\x20Queue',_0x5bea08[_0x031f('0x27')],_0x031f('0x74'),_0x5bea08[_0x031f('0x29')]);ami[_0x031f('0x25')](_0x031f('0xad'),ut[_0x031f('0x9a')](_0x14fd99,_0x031f('0xae'),this['campaignsPreview'][_0x14fd99[_0x031f('0x73')]]));if(_0x5bea08[_0x031f('0xaf')]){ami[_0x031f('0x25')]('custom:agentConnectPreview',ut['buildAcw'](_0x14fd99));}break;case'16':ami[_0x031f('0x25')]('custom:agentcomplete',ut['buildObj'](_0x14fd99,_0x031f('0xb0'),this[_0x031f('0x11')][_0x14fd99[_0x031f('0x73')]]));emitVoiceQueueChannelRemove(ut[_0x031f('0x9a')](_0x14fd99,_0x031f('0xb0')));_0x5bea08[_0x031f('0x36')]+=0x1;_0x5bea08[_0x031f('0xb1')]+=0x1;_0x5bea08[_0x031f('0xb2')]+=0x1;ut[_0x031f('0x7a')](_0x5bea08,_0x031f('0xb3'));_0x14fd99[_0x031f('0xb4')]=ut['totalGlobal'](_0x14fd99);ut[_0x031f('0x8a')](_0x14fd99,0x4,_0x031f('0xb5'));rpcDb[_0x031f('0x8f')](_0x14fd99,_0x031f('0xb6'));rpcDb['createCustomerFinal'](_0x14fd99,_0x031f('0xb7'));rpcDb['crateCustomerReportQueue'](_0x14fd99);_0x5bea08['sumDuration']+=_0x14fd99[_0x031f('0xb8')];_0x5bea08[_0x031f('0x2a')]+=_0x14fd99['talktime'];logger['info'](_0x031f('0xb9'),_0x14fd99[_0x031f('0xac')],_0x031f('0xba'),_0x5bea08[_0x031f('0x27')],_0x031f('0x74'),_0x5bea08[_0x031f('0x29')]);delete this['actions'][_0x144011[_0x031f('0xbb')]];break;case _0x031f('0xbc'):_0x5bea08['outboundBusyCallsDay']+=0x1;_0x14fd99[_0x031f('0xbd')]+=0x1;_0x14fd99[_0x031f('0xb4')]=ut[_0x031f('0x9f')](_0x14fd99);ut[_0x031f('0x8a')](_0x14fd99,0x5,_0x031f('0xbe'));_0x1d973d=_0x5bea08[_0x031f('0xbf')];_0x6d85c8=_0x5bea08[_0x031f('0x9e')];ami['emit'](_0x031f('0xc0'),ut['buildObj'](_0x14fd99,_0x031f('0xc1')));rpcDb[_0x031f('0x8f')](_0x14fd99,_0x031f('0xc2'));_0x30cb01['verifyAdditionalPhones'](_0x14fd99,'5',_0x5bea08)['then'](function(_0x51aa16){_0x1bc4de=_0x51aa16[_0x031f('0x9c')]==0x1;if(!_0x1bc4de){if(ut[_0x031f('0x9f')](_0x14fd99)>=_0x5bea08[_0x031f('0xa0')]){_0x232b62=ut[_0x031f('0xc3')](_0x14fd99,0xf,_0x031f('0xc4'));rpcDb[_0x031f('0xa1')](_0x232b62,_0x031f('0xc5'));}else{if(_0x14fd99['countbusyretry']>=_0x5bea08['dialBusyMaxRetry']){rpcDb[_0x031f('0xa1')](_0x14fd99,_0x031f('0xc2'));}else{rpcDb['rescheduleContact'](ut[_0x031f('0xc6')](_0x14fd99,'countbusyretry',_0x5bea08[_0x031f('0xbf')]),_0x14fd99[_0x031f('0xa4')],_0x14fd99['activeContact']);}}}else{_0x14fd99[_0x031f('0xbd')]++;_0x30cb01[_0x031f('0xc7')]({'id':_0x14fd99['idContact'],'field':{'countbusyretry':_0x14fd99[_0x031f('0xbd')]}})[_0x031f('0x80')](function(){_0x30cb01[_0x031f('0xa8')](_0x14fd99,_0x1d973d,_0x6d85c8)['then'](function(){});});}});break;case _0x031f('0xc8'):_0x5bea08[_0x031f('0x3c')]+=0x1;_0x14fd99[_0x031f('0xc9')]+=0x1;_0x14fd99[_0x031f('0xb4')]=ut[_0x031f('0x9f')](_0x14fd99);ut[_0x031f('0x8a')](_0x14fd99,0x3,'NoAnswer');_0x1d973d=_0x5bea08[_0x031f('0xca')];_0x6d85c8=_0x5bea08[_0x031f('0x9e')];ami[_0x031f('0x25')](_0x031f('0xcb'),ut['buildObj'](_0x14fd99,_0x031f('0xcc')));rpcDb[_0x031f('0x8f')](_0x14fd99,'[callProgressDetectingCustomer][logNoAnswer]');_0x30cb01[_0x031f('0xcd')](_0x14fd99,'3',_0x5bea08)[_0x031f('0x80')](function(_0x3139fe){_0x1bc4de=_0x3139fe[_0x031f('0x9c')]==0x1;if(!_0x1bc4de){if(ut[_0x031f('0x9f')](_0x14fd99)>=_0x5bea08[_0x031f('0xa0')]){_0x232b62=ut[_0x031f('0xc3')](_0x14fd99,0xf,_0x031f('0xc4'));rpcDb[_0x031f('0xa1')](_0x232b62,_0x031f('0xce'));}else{if(_0x14fd99[_0x031f('0xc9')]>=_0x5bea08[_0x031f('0xcf')]){rpcDb[_0x031f('0xa1')](_0x14fd99,_0x031f('0xd0'));}else{rpcDb[_0x031f('0xa3')](ut['scheduledAt'](_0x14fd99,_0x031f('0xc9'),_0x5bea08[_0x031f('0xca')]),_0x14fd99[_0x031f('0xa4')],_0x14fd99[_0x031f('0xa5')]);}}}else{_0x14fd99[_0x031f('0xc9')]++;_0x30cb01[_0x031f('0xc7')]({'id':_0x14fd99['idContact'],'field':{'countnoanswerretry':_0x14fd99['countnoanswerretry']}})['then'](function(){_0x30cb01[_0x031f('0xa8')](_0x14fd99,_0x1d973d,_0x6d85c8)[_0x031f('0x80')](function(){});});}});break;case'CONGESTION':_0x5bea08[_0x031f('0x39')]+=0x1;_0x14fd99[_0x031f('0xd1')]+=0x1;_0x14fd99[_0x031f('0xb4')]=ut[_0x031f('0x9f')](_0x14fd99);ut['logCustomer'](_0x14fd99,0x8,_0x031f('0xd2'));_0x1d973d=_0x5bea08[_0x031f('0xd3')];_0x6d85c8=_0x5bea08[_0x031f('0x9e')];ami[_0x031f('0x25')](_0x031f('0xd4'),ut[_0x031f('0x9a')](_0x14fd99,_0x031f('0xd5')));rpcDb[_0x031f('0x8f')](_0x14fd99,_0x031f('0xd6'));_0x30cb01[_0x031f('0xcd')](_0x14fd99,'8',_0x5bea08)[_0x031f('0x80')](function(_0x3eec5b){_0x1bc4de=_0x3eec5b['additional']==0x1;if(!_0x1bc4de){if(ut[_0x031f('0x9f')](_0x14fd99)>=_0x5bea08[_0x031f('0xa0')]){_0x232b62=ut['cloneAction'](_0x14fd99,0xf,_0x031f('0xc4'));rpcDb[_0x031f('0xa1')](_0x232b62,'[callProgressDetectingCustomer][logCongestionGlobal]');}else{if(_0x14fd99[_0x031f('0xd1')]>=_0x5bea08[_0x031f('0xd7')]){rpcDb[_0x031f('0xa1')](_0x14fd99,_0x031f('0xd6'));}else{rpcDb[_0x031f('0xa3')](ut[_0x031f('0xc6')](_0x14fd99,_0x031f('0xd1'),_0x5bea08[_0x031f('0xbf')]),_0x14fd99[_0x031f('0xa4')],_0x14fd99['activeContact']);}}}else{_0x14fd99[_0x031f('0xd1')]++;_0x30cb01[_0x031f('0xc7')]({'id':_0x14fd99[_0x031f('0xa7')],'field':{'countcongestionretry':_0x14fd99['countcongestionretry']}})['then'](function(){_0x30cb01[_0x031f('0xa8')](_0x14fd99,_0x1d973d,_0x6d85c8)['then'](function(){});});}});break;case _0x031f('0xd8'):_0x5bea08[_0x031f('0x40')]+=0x1;_0x14fd99['countagentrejectretry']+=0x1;_0x14fd99[_0x031f('0xb4')]=ut[_0x031f('0x9f')](_0x14fd99);ut[_0x031f('0x8a')](_0x14fd99,0x14,_0x031f('0xd9'));_0x1d973d=_0x5bea08[_0x031f('0xda')];_0x6d85c8=_0x5bea08[_0x031f('0x9e')];ami[_0x031f('0x25')](_0x031f('0xdb'),ut[_0x031f('0x9a')](_0x14fd99,_0x031f('0xdc')));rpcDb[_0x031f('0x8f')](_0x14fd99,_0x031f('0xdd'));_0x30cb01[_0x031f('0xcd')](_0x14fd99,'20',_0x5bea08)['then'](function(_0x563c1c){_0x1bc4de=_0x563c1c[_0x031f('0x9c')]==0x1;if(!_0x1bc4de){if(ut['totalGlobal'](_0x14fd99)>=_0x5bea08[_0x031f('0xa0')]){_0x232b62=ut[_0x031f('0xc3')](_0x14fd99,0x14,_0x031f('0xd9'));rpcDb['createCustomerFinal'](_0x232b62,_0x031f('0xde'));}else{if(_0x14fd99[_0x031f('0xdf')]>=_0x5bea08['dialAgentRejectMaxRetry']){rpcDb[_0x031f('0xa1')](_0x14fd99,_0x031f('0xde'));}else{rpcDb[_0x031f('0xa3')](ut[_0x031f('0xc6')](_0x14fd99,_0x031f('0xdf'),_0x5bea08[_0x031f('0xda')]),_0x14fd99[_0x031f('0xa4')],_0x14fd99['activeContact']);}}}else{_0x14fd99[_0x031f('0xc9')]++;_0x30cb01[_0x031f('0xc7')]({'id':_0x14fd99[_0x031f('0xa7')],'field':{'countnoanswerretry':_0x14fd99[_0x031f('0xc9')]}})['then'](function(){_0x30cb01['swapAdditionalPhones'](_0x14fd99,_0x1d973d,_0x6d85c8)[_0x031f('0x80')](function(){});});}});break;case'ABANDONED':_0x5bea08['outboundAbandonedCallsDay']+=0x1;_0x14fd99[_0x031f('0xe0')]+=0x1;_0x14fd99['countglobal']=ut['totalGlobal'](_0x14fd99);ut[_0x031f('0x8a')](_0x14fd99,0xb,_0x031f('0xe1'));rpcDb[_0x031f('0x8f')](_0x14fd99,_0x031f('0xe2'));_0x30cb01[_0x031f('0xcd')](_0x14fd99,'11',_0x5bea08)[_0x031f('0x80')](function(_0x5f10af){_0x1bc4de=_0x5f10af[_0x031f('0x9c')]==0x1;if(!_0x1bc4de){if(ut[_0x031f('0x9f')](_0x14fd99)>=_0x5bea08['dialGlobalMaxRetry']){_0x232b62=ut[_0x031f('0xc3')](_0x14fd99,0xf,_0x031f('0xc4'));rpcDb[_0x031f('0xa1')](_0x232b62,_0x031f('0xe2'));}else{if(_0x14fd99['countabandonedetry']>=_0x5bea08['dialAbandonedMaxRety']){rpcDb['createCustomerFinal'](_0x14fd99,_0x031f('0xe2'));}else{rpcDb[_0x031f('0xa3')](ut[_0x031f('0xc6')](_0x14fd99,_0x031f('0xe0'),_0x5bea08[_0x031f('0xe3')]),_0x14fd99[_0x031f('0xa4')],_0x14fd99[_0x031f('0xa5')]);}}}else{_0x14fd99[_0x031f('0xc9')]++;_0x30cb01[_0x031f('0xc7')]({'id':_0x14fd99['idContact'],'field':{'countnoanswerretry':_0x14fd99[_0x031f('0xc9')]}})[_0x031f('0x80')](function(){_0x30cb01[_0x031f('0xa8')](_0x14fd99,_0x1d973d,_0x6d85c8)[_0x031f('0x80')](function(){});});}});break;case'18':_0x5bea08[_0x031f('0x41')]+=0x1;_0x14fd99['countmachineretry']+=0x1;_0x14fd99['countglobal']=ut['totalGlobal'](_0x14fd99);ut[_0x031f('0x8a')](_0x14fd99,0x12,_0x144011[_0x031f('0xe4')]||_0x144011[_0x031f('0xe5')]);ami[_0x031f('0x25')]('custom:amd',ut[_0x031f('0x9a')](_0x14fd99,'amd'));rpcDb[_0x031f('0x8f')](_0x14fd99,_0x031f('0xe6'));_0x30cb01[_0x031f('0xcd')](_0x14fd99,'18',_0x5bea08)[_0x031f('0x80')](function(_0x25b295){_0x1bc4de=_0x25b295['additional']==0x1;if(!_0x1bc4de){if(ut[_0x031f('0x9f')](_0x14fd99)>=_0x5bea08[_0x031f('0xa0')]){_0x232b62=ut[_0x031f('0xc3')](_0x14fd99,0x12,_0x031f('0xc4'));rpcDb['createCustomerFinal'](_0x232b62,_0x031f('0xe6'));}else{rpcDb[_0x031f('0xa1')](_0x14fd99,'[callProgressDetectingCustomer][hangupInAMD]');}}else{_0x14fd99[_0x031f('0xc9')]++;_0x30cb01['incrementPreviewCounters']({'id':_0x14fd99[_0x031f('0xa7')],'field':{'countnoanswerretry':_0x14fd99[_0x031f('0xc9')]}})[_0x031f('0x80')](function(){_0x30cb01[_0x031f('0xa8')](_0x14fd99,_0x1d973d,_0x6d85c8)[_0x031f('0x80')](function(){});});}});delete this['actions'][_0x144011[_0x031f('0xbb')]];break;case'19':_0x5bea08['outboundUnknownCallsDay']+=0x1;_0x14fd99[_0x031f('0xb4')]=ut[_0x031f('0x9f')](_0x14fd99);ut['logCustomer'](_0x14fd99,0x13,_0x144011[_0x031f('0xe4')]||_0x144011[_0x031f('0xe5')]);ami[_0x031f('0x25')](_0x031f('0xe7'),ut[_0x031f('0x9a')](_0x14fd99,'amd'));rpcDb['createCustomerHistory'](_0x14fd99,'[callProgressDetectingCustomer][machine]');_0x30cb01[_0x031f('0xcd')](_0x14fd99,'18',_0x5bea08)['then'](function(_0x420de3){_0x1bc4de=_0x420de3[_0x031f('0x9c')]==0x1;if(!_0x1bc4de){if(ut[_0x031f('0x9f')](_0x14fd99)>=_0x5bea08[_0x031f('0xa0')]){_0x232b62=ut[_0x031f('0xc3')](_0x14fd99,0xf,'Global');rpcDb[_0x031f('0xa1')](_0x232b62,'[callProgressDetectingCustomer][machine]');}else{rpcDb[_0x031f('0xa1')](_0x14fd99,_0x031f('0xe8'));}}else{_0x14fd99[_0x031f('0xc9')]++;_0x30cb01['incrementPreviewCounters']({'id':_0x14fd99[_0x031f('0xa7')],'field':{'countnoanswerretry':_0x14fd99[_0x031f('0xc9')]}})[_0x031f('0x80')](function(){_0x30cb01[_0x031f('0xa8')](_0x14fd99,_0x1d973d,_0x6d85c8)['then'](function(){});});}});delete this[_0x031f('0x14')][_0x144011[_0x031f('0xbb')]];break;default:if(_0x14fd99[_0x031f('0x75')]){ut[_0x031f('0x7a')](_0x5bea08,_0x031f('0xe9'));ut[_0x031f('0x7b')]('[Dialer][decrementTalkink][no\x20Hangup][Preview]'+_0x5bea08[_0x031f('0x27')],_0x144011);}_0x5bea08[_0x031f('0x41')]+=0x1;_0x14fd99[_0x031f('0xb4')]=ut[_0x031f('0x9f')](_0x14fd99);ut[_0x031f('0x8a')](_0x14fd99,0xc,_0x144011[_0x031f('0xe4')]||_0x144011[_0x031f('0xe5')]);_0x1d973d=_0x5bea08['dialAgentRejectRetryFrequency'];_0x6d85c8=_0x5bea08[_0x031f('0x9e')];rpcDb[_0x031f('0x8f')](_0x14fd99,_0x031f('0xea'));_0x30cb01[_0x031f('0xcd')](_0x14fd99,'20',_0x5bea08)[_0x031f('0x80')](function(_0x5769f6){_0x1bc4de=_0x5769f6[_0x031f('0x9c')]==0x1;if(!_0x1bc4de){if(ut[_0x031f('0x9f')](_0x14fd99)>=_0x5bea08[_0x031f('0xa0')]){_0x232b62=ut[_0x031f('0xc3')](_0x14fd99,0xf,_0x031f('0xc4'));rpcDb['createCustomerFinal'](_0x232b62,_0x031f('0xeb'));}else{rpcDb[_0x031f('0xa1')](_0x14fd99,_0x031f('0xeb'));}delete this[_0x031f('0x14')][_0x144011[_0x031f('0xbb')]];}else{_0x30cb01['swapAdditionalPhones'](_0x14fd99,_0x1d973d,_0x6d85c8)['then'](function(_0x380f9a){});}});}if(!(_0x14fd99[_0x031f('0x75')]&&_0x439095==='16')){ut['updateOriginated'](_0x5bea08,_0x031f('0xec'));logger['info'](_0x031f('0xed'),_0x14fd99[_0x031f('0xac')],_0x031f('0xba'),_0x5bea08[_0x031f('0x27')],'originated:\x20',_0x5bea08['originated']);}if(_0x439095!==_0x031f('0xa9')){delete this[_0x031f('0x14')][_0x144011[_0x031f('0xbb')]];delete this[_0x031f('0x14')][_0x144011['destlinkedid']];}}};Preview[_0x031f('0xd')][_0x031f('0xee')]=function(_0x2af6ef,_0x4b5226,_0xe20656){if(_[_0x031f('0xef')](_0x4b5226)&&_0x031f('0xf0')!==typeof _0x4b5226){return;}if(_['isUndefined'](_0xe20656)&&_0x031f('0xf0')!==typeof _0xe20656){return;}switch(_0xe20656[_0x031f('0xf1')]){case'0':ut[_0x031f('0xf2')](_0x2af6ef,0x0,_0x031f('0xf3'));rpcDb[_0x031f('0xf4')](_0x2af6ef,'[callProgressDetectingAgent][logNoSuch]');break;case'3':ut[_0x031f('0xf2')](_0x2af6ef,0x3,_0x031f('0xf5'));rpcDb[_0x031f('0xf4')](_0x2af6ef,_0x031f('0xf6'));break;case'5':ut[_0x031f('0xf2')](_0x2af6ef,0x5,_0x031f('0xbe'));rpcDb['createAgentHistory'](_0x2af6ef,'[callProgressDetectingAgent][logBusy]');break;case'8':ut[_0x031f('0xf2')](_0x2af6ef,0x8,_0x031f('0xd2'));rpcDb[_0x031f('0xf4')](_0x2af6ef,_0x031f('0xf7'));break;case'22':ut[_0x031f('0xf2')](_0x2af6ef,0x16,_0x031f('0xf8'));rpcDb[_0x031f('0xf4')](_0x2af6ef,'[callProgressDetectingAgent][logAnswerAGI]');break;default:ut[_0x031f('0xf2')](_0x2af6ef,0xc,_0xe20656[_0x031f('0xf1')]);rpcDb[_0x031f('0xf4')](_0x2af6ef,_0x031f('0xf7'));}ut[_0x031f('0xf9')](_0x4b5226,_0x031f('0xfa'));logger[_0x031f('0x59')](_0x031f('0xfb'),_0x2af6ef['uniqueid'],_0x031f('0xba'),_0x4b5226[_0x031f('0x27')],'originated:\x20',_0x4b5226[_0x031f('0x4f')]);delete this[_0x031f('0x14')][_0x2af6ef[_0x031f('0xac')]];};Preview[_0x031f('0xd')][_0x031f('0xcd')]=function(_0x5776a3,_0x3abf03,_0x24529a){return BPromise[_0x031f('0xfc')]()[_0x031f('0x80')](cmHopperAdditionalPhone['verifyAdditionalPhones'](_0x5776a3,_0x3abf03,_0x24529a))['catch'](logger['info']('[verifyAdditionalPhone]\x20'));};Preview[_0x031f('0xd')]['swapAdditionalPhones']=function(_0x2fdecc,_0x4c6a76,_0x5e3808){return BPromise[_0x031f('0xfc')]()[_0x031f('0x80')](cmHopperAdditionalPhone[_0x031f('0xa8')](_0x2fdecc,_0x4c6a76,_0x5e3808))[_0x031f('0x93')](logger[_0x031f('0x59')](_0x031f('0xfd')));};Preview['prototype'][_0x031f('0xc7')]=function(_0x1583f9){return BPromise[_0x031f('0xfc')]()[_0x031f('0x80')](cmHopperAdditionalPhone[_0x031f('0xc7')](_0x1583f9))['catch'](logger[_0x031f('0x59')](_0x031f('0xfe')));};Preview[_0x031f('0xd')][_0x031f('0xff')]=function(_0x18e5c6,_0x2d8a83,_0x1e0b9f,_0x23f968,_0x20bd74){var _0x275dbb=this;return new BPromise(function(_0x1c4905,_0x59df88){if(_[_0x031f('0x100')](_0x2d8a83)||_['isNil'](_0x2d8a83[_0x031f('0x101')])||_['isNil'](_0x2d8a83[_0x031f('0x102')])||_[_0x031f('0x100')](_0x2d8a83['VoiceQueueId'])){_0x59df88(ut[_0x031f('0x4e')](_0x031f('0x103'),_0x23f968,_0x20bd74));return;}var _0x538211=uuid['v4']();var _0x5f320b=_0x275dbb[_0x031f('0x11')][_0x2d8a83[_0x031f('0x71')][_0x031f('0x27')]];var _0x194c6a=_0x1e0b9f?_0x275dbb[_0x031f('0x15')][_0x1e0b9f]['id']:undefined;_0x275dbb['actions'][_0x538211]=new Action(_0x2d8a83,_0x5f320b,_0x538211,_0x1e0b9f,_0x194c6a);var _0x206bcd=_0x275dbb[_0x031f('0x14')][_0x538211];_0x206bcd['unlockAgent']=_0x23f968;_0x206bcd['activeContact']=_0x20bd74;_0x206bcd['lookAgent']=_0x1e0b9f;if(_[_0x031f('0x104')](_0x18e5c6)){_0x275dbb[_0x031f('0x105')](_0x206bcd,_0x5f320b,_0x2d8a83,_0x1e0b9f)[_0x031f('0x80')](function(_0x31a6cf){logger[_0x031f('0x59')](_0x031f('0x106'),_0x031f('0x107')+_0x206bcd[_0x031f('0x73')]+_0x031f('0x108')+_0x206bcd[_0x031f('0xa7')],JSON[_0x031f('0x5b')](_0x31a6cf));ami[_0x031f('0x25')](_0x031f('0x109'),ut['buildObj'](_0x206bcd,_0x031f('0x10a'),_0x275dbb[_0x031f('0x11')][_0x206bcd[_0x031f('0x73')]]));_0x1c4905(ut[_0x031f('0x4e')]('Calling'));})['catch'](function(_0x538697){ut[_0x031f('0x63')](_0x031f('0x10b'),_0x538697);_0x59df88(ut[_0x031f('0x4e')]('Call\x20failed',_0x23f968,_0x20bd74));});}else{_0x5f320b[_0x031f('0x37')]+=0x1;ut[_0x031f('0x10c')](_0x206bcd);rpcDb[_0x031f('0x10d')](_0x206bcd,_0x031f('0x10e'));delete _0x275dbb[_0x031f('0x14')][_0x538211];_0x59df88(ut[_0x031f('0x4e')](_0x031f('0x10f'),_0x23f968,_0x20bd74));}});};Preview[_0x031f('0xd')][_0x031f('0x95')]=function(_0x1df426){return!_[_0x031f('0x100')](_0x1df426)&&!_['isNil'](_0x1df426[_0x031f('0x27')])&&!_['isNil'](_0x1df426['active'])&&_0x1df426['active']&&!_[_0x031f('0x100')](this[_0x031f('0x13')][util[_0x031f('0x5c')](_0x031f('0x110'),_0x1df426[_0x031f('0x27')])])&&!_['isNil'](this['trunks'][util[_0x031f('0x5c')](_0x031f('0x110'),_0x1df426[_0x031f('0x27')])][_0x031f('0x111')])&&(this[_0x031f('0x13')][util[_0x031f('0x5c')]('SIP/%s',_0x1df426[_0x031f('0x27')])]['status']===_0x031f('0x112')||this[_0x031f('0x13')][util['format']('SIP/%s',_0x1df426[_0x031f('0x27')])][_0x031f('0x111')]===_0x031f('0x113'));};Preview[_0x031f('0xd')][_0x031f('0x86')]=function(_0x41c07d,_0x182d38){var _0x132ff6=this;return new BPromise(function(_0x38555e,_0x246b70){_0x132ff6[_0x031f('0x114')](_0x41c07d,_0x182d38)[_0x031f('0x80')](function(_0x22e7a0){_0x38555e(_[_0x031f('0x115')](_0x22e7a0,[_0x031f('0x4e')]));})[_0x031f('0x93')](function(_0x5f411e){if(_0x5f411e[_0x031f('0x116')]){rpcDb['unlockContact'](_0x41c07d);}if(_0x5f411e[_0x031f('0x56')]){rpcDb['disableContact'](_0x41c07d);}_0x246b70(_[_0x031f('0x115')](_0x5f411e,[_0x031f('0x4e')]));});});};Preview['prototype'][_0x031f('0x114')]=function(_0x3075fb,_0x320945){var _0x4ab43d=this;return new BPromise(function(_0x2178b5,_0x26e802){var _0x4d1e45,_0xb29553;rpcDb[_0x031f('0x117')](_0x3075fb)['then'](function(_0x3d49ea){if(!_[_0x031f('0x100')](_0x3d49ea[0x0])){_0xb29553=_0x3d49ea[0x0][_0x031f('0x118')]?![]:!![];_0x4d1e45=_0x3d49ea[0x0][_0x031f('0x118')]?!![]:![];_0x4d1e45=_0x320945?!![]:_0x4d1e45;}var _0x6b50e7=_0x4ab43d[_0x031f('0x119')](_0x3d49ea);if(_0x6b50e7['isValid']){rpcDb[_0x031f('0x11a')](_['pick'](_0x3d49ea[0x0],['VoiceQueueId',_0x031f('0x102')]))[_0x031f('0x80')](function(_0x1af1d9){_0x4ab43d[_0x031f('0xff')](_0x1af1d9,_0x3d49ea[0x0],_0x320945,_0xb29553,_0x4d1e45)[_0x031f('0x80')](function(_0x46d57a){_0x2178b5(_0x46d57a);})[_0x031f('0x93')](function(_0x49fe3e){_0x26e802(_0x49fe3e);});})[_0x031f('0x93')](function(_0x910fe8){ut[_0x031f('0x63')]('[Preview][checkIsBlackList]',_0x910fe8);_0x26e802(ut[_0x031f('0x4e')]('Call\x20unsuccessful',_0xb29553,_0x4d1e45));});}else{_0x26e802(ut['message'](_0x6b50e7[_0x031f('0x4e')],_0xb29553,_0x4d1e45));}})[_0x031f('0x93')](function(_0x2725d9){ut[_0x031f('0x63')](_0x031f('0x11b'),_0x2725d9);_0x26e802(ut[_0x031f('0x4e')](_0x031f('0x11c'),![],!![]));});});};Preview[_0x031f('0xd')]['validateContact']=function(_0xa32900){if(_[_0x031f('0x100')](_0xa32900)||_[_0x031f('0x104')](_0xa32900)||!_[_0x031f('0x100')](_0xa32900[0x0]['Agent'])&&_[_0x031f('0x100')](_0xa32900[0x0][_0x031f('0x84')][_0x031f('0x27')])){ut['logger']('[Preview][validateContact][Empty\x20Contact]',_0xa32900);return{'isValid':![],'message':_0x031f('0x11d')};}var _0x3fbc01=this[_0x031f('0x11')][_0xa32900[0x0][_0x031f('0x71')][_0x031f('0x27')]];_0x3fbc01[_0x031f('0x4e')]=_0x031f('0x97');if(_[_0x031f('0x100')](_0x3fbc01)){ut[_0x031f('0x63')]('[Preview][validateContact][Empty\x20Campaign]',_0x3fbc01);return{'isValid':![],'message':_0x031f('0x11e')};}if(!this[_0x031f('0x95')](_0x3fbc01[_0x031f('0x55')])){ut[_0x031f('0x63')]('[Preview][validateContact][Trunk\x20not\x20working\x20correctly]',_0x031f('0x11f')+_0x3fbc01[_0x031f('0x27')]+_0x031f('0x120'));if(!this[_0x031f('0x95')](_0x3fbc01[_0x031f('0x96')])){ut[_0x031f('0x63')](_0x031f('0x121'),_0x3fbc01['name']+_0x031f('0x122'));return{'isValid':![],'message':'Trunk\x20not\x20working\x20correctly'};}}if(!ut[_0x031f('0x123')](_0x3fbc01['dialActive'])){ut[_0x031f('0x63')]('[Preview][validateContact][Campaign\x20Active]',_0x3fbc01[_0x031f('0x27')]+_0x031f('0x124'));return{'isValid':![],'message':_0x031f('0x11f')+_0x3fbc01['name']+_0x031f('0x124')};}return{'isValid':!![],'message':_0x031f('0x125')};};Preview[_0x031f('0xd')][_0x031f('0x105')]=function(_0x3978bb,_0x149831,_0x3af6e3,_0x1d86e8){var _0x41ebb4=this;return new BPromise(function(_0x5e36ec,_0x2ad5fe){var _0x40a4c7=_0x3978bb[_0x031f('0xac')];var _0x11fd2f=_0x41ebb4[_0x031f('0x95')](_0x149831[_0x031f('0x55')])?util[_0x031f('0x5c')](_0x031f('0x126'),_0x149831['Trunk']['name'],_[_0x031f('0x100')](_0x149831['dialPrefix'])?'':_0x149831[_0x031f('0x127')]['trim']()||'',_0x149831['dialCutDigit']>0x0?_0x3af6e3[_0x031f('0x102')][_0x031f('0x128')](_0x149831[_0x031f('0x129')]):_0x3af6e3[_0x031f('0x102')]):util[_0x031f('0x5c')]('SIP/%s/%s%s',_[_0x031f('0x100')](_0x149831['TrunkBackup'])?_0x149831[_0x031f('0x55')]['name']:_0x149831['TrunkBackup'][_0x031f('0x27')],_[_0x031f('0x100')](_0x149831[_0x031f('0x127')])?'':_0x149831[_0x031f('0x127')][_0x031f('0x12a')]()||'',_0x149831['dialCutDigit']>0x0?_0x3af6e3['phone']['substring'](_0x149831[_0x031f('0x129')]):_0x3af6e3['phone']);var _0x3e4d54=_0x41ebb4[_0x031f('0x95')](_0x149831['Trunk'])?ut[_0x031f('0x12b')](_0x149831[_0x031f('0x55')][_0x031f('0x12c')],_0x149831['dialOriginateCallerIdName'],_0x149831['dialRandomLastDigitCallerIdNumber']>0x0?ut[_0x031f('0x12d')](_0x149831[_0x031f('0x33')],_0x149831[_0x031f('0x12e')]):_0x149831['dialOriginateCallerIdNumber']):ut['getCallerId'](_[_0x031f('0x100')](_0x149831['TrunkBackup'])?_0x149831['Trunk'][_0x031f('0x12c')]:_0x149831[_0x031f('0x96')][_0x031f('0x12c')],_0x149831['dialOriginateCallerIdName'],_0x149831['dialRandomLastDigitCallerIdNumber']>0x0?ut[_0x031f('0x12d')](_0x149831[_0x031f('0x33')],_0x149831[_0x031f('0x12e')]):_0x149831[_0x031f('0x33')]);if(_0x3e4d54){_0x3978bb[_0x031f('0x12f')]=ut[_0x031f('0x130')](_0x3e4d54);_0x3978bb[_0x031f('0x131')]=ut[_0x031f('0x132')](_0x3e4d54);}var _0x5c0dcd=ut[_0x031f('0x133')](_0x149831,_0x3af6e3,_0x11fd2f,_0x3e4d54,_0x40a4c7,_0x3978bb);_[_0x031f('0x134')](_0x3978bb,ut[_0x031f('0x135')](_0x5c0dcd));_0x3978bb['starttime']=moment()[_0x031f('0x5c')]('YYYY-MM-DD\x20HH:mm:ss');ami[_0x031f('0x77')](ut[_0x031f('0x136')](_0x3978bb,_0x149831,_0x5c0dcd,_0x3978bb[_0x031f('0xa5')],_0x1d86e8))[_0x031f('0x80')](function(_0xec37e){_0x149831[_0x031f('0x4f')]+=0x1;logger['info'](_0x031f('0x137'),_0x40a4c7,_0x031f('0xba'),_0x149831[_0x031f('0x27')],'originated:\x20',_0x149831[_0x031f('0x4f')]);_0x5e36ec(_0xec37e);})[_0x031f('0x93')](function(_0x596b59){ut[_0x031f('0xf2')](_0x3978bb,0xe,_0x031f('0x138'));rpcDb[_0x031f('0xf4')](_0x3978bb,'[originateFailure][logOriginateFailure]');_0x2ad5fe(_0x596b59);});});};Preview['prototype'][_0x031f('0x1d')]=function(_0x3bdbb3){if(this[_0x031f('0x14')][_0x3bdbb3[_0x031f('0xbb')]]){this[_0x031f('0x14')][_0x3bdbb3[_0x031f('0xbb')]][_0x031f('0x78')]=_0x3bdbb3[_0x031f('0x78')];}};Preview[_0x031f('0xd')]['syncOriginateResponse']=function(_0x322e44){var _0x117fc2=this;var _0x4fcf6=this[_0x031f('0x14')][_0x322e44['actionid']];if(_0x4fcf6){if(_0x4fcf6['lookAgent']&&this[_0x031f('0x15')][_0x4fcf6['lookAgent']]){ut[_0x031f('0x139')](_0x4fcf6,this[_0x031f('0x15')][_0x4fcf6['lookAgent']][_0x031f('0x27')],this[_0x031f('0x15')][_0x4fcf6[_0x031f('0x13a')]]['id']);}var _0x4c97ad=_[_0x031f('0x13b')](_0x4fcf6);_0x4c97ad[_0x031f('0x13c')]=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');var _0x4d3f33=_0x117fc2[_0x031f('0x11')][_0x4fcf6[_0x031f('0x73')]];if(ut[_0x031f('0x13d')](_0x322e44[_0x031f('0x13e')])){if(_0x4fcf6[_0x031f('0xa4')]){rpcDb[_0x031f('0x13f')](_0x4fcf6[_0x031f('0xa7')]);}if(_0x4fcf6['activeContact']){rpcDb[_0x031f('0x88')](_0x4fcf6['idContact']);}ami[_0x031f('0x25')](_0x031f('0x140'),ut['buildObj'](_0x4fcf6,_0x031f('0x141'),this[_0x031f('0x11')][_0x4fcf6[_0x031f('0x73')]]));this[_0x031f('0xee')](_0x4c97ad,_0x4d3f33,_0x322e44);}else{_0x4fcf6[_0x031f('0x142')]=moment()[_0x031f('0x5c')](_0x031f('0x89'));ut[_0x031f('0xf2')](_0x4c97ad,0x4,'Answer');rpcDb[_0x031f('0xf4')](_0x4c97ad,_0x031f('0x143'));}}};Preview[_0x031f('0xd')]['syncHangup']=function(_0x4bc4fa){var _0xa65f3f=this;var _0x4ec17a=this[_0x031f('0x14')][_0x4bc4fa['linkedid']];var _0x5b832d;if(_0x4ec17a){_0x5b832d=this['campaignsPreview'][_0x4ec17a[_0x031f('0x73')]];logger[_0x031f('0x59')](_0x031f('0x144'),_0x4bc4fa[_0x031f('0xbb')],_0x031f('0xba'),_0x5b832d[_0x031f('0x27')],'pTalking:\x20',_0x5b832d[_0x031f('0x29')]);}if(this['actions'][_0x4bc4fa['linkedid']]&&_0x4bc4fa['linkedid']!==_0x4bc4fa[_0x031f('0xac')]){if(_0x4bc4fa[_0x031f('0x145')]==='16'&&this[_0x031f('0x14')][_0x4bc4fa[_0x031f('0xbb')]][_0x031f('0x75')]){this[_0x031f('0x146')](_0x4bc4fa,_0x4bc4fa[_0x031f('0xbb')],_0x4bc4fa[_0x031f('0x145')]);}else if(this[_0x031f('0x14')][_0x4bc4fa[_0x031f('0xbb')]]['dialAnswer']){logger[_0x031f('0x59')](_0x031f('0x147'),_0x4bc4fa[_0x031f('0xbb')],_0x4bc4fa[_0x031f('0x145')],'\x20Queue',_0x5b832d[_0x031f('0x27')],'pTalking:\x20',_0x5b832d[_0x031f('0x29')]);this[_0x031f('0x146')](_0x4bc4fa,_0x4bc4fa[_0x031f('0xbb')],_0x4bc4fa['cause']);}}else if(_0x4ec17a&&_[_0x031f('0x100')](_0x4ec17a['statedesc'])&&_0x5b832d[_0x031f('0x148')]&&_0x4bc4fa[_0x031f('0xbb')]===_0x4bc4fa[_0x031f('0xac')]&&_[_0x031f('0x100')](_0x4bc4fa[_0x031f('0xf1')])&&_0x4bc4fa['cause']==='16'&&_0x4bc4fa[_0x031f('0x149')]==='6'&&_[_0x031f('0xef')](_0x4ec17a['transfer'])){if(_0x4ec17a['unlockAgent']){rpcDb['unlockContact'](_0x4ec17a[_0x031f('0xa7')]);}if(_0x4ec17a[_0x031f('0xa5')]){rpcDb[_0x031f('0x88')](_0x4ec17a[_0x031f('0xa7')]);}_0x4bc4fa[_0x031f('0xf1')]='22';this[_0x031f('0xee')](_0x4ec17a,_0x5b832d,_0x4bc4fa);}else if(_0x4ec17a&&_0x4ec17a[_0x031f('0x14a')]){if(_0x4bc4fa['cause']==='16'&&this[_0x031f('0x14')][_0x4bc4fa[_0x031f('0xbb')]][_0x031f('0x75')]){logger[_0x031f('0x59')]('[syncHangup][talking][transfer]',_0x4bc4fa[_0x031f('0xbb')],_0x4bc4fa[_0x031f('0x145')],_0x031f('0xba'),_0x5b832d['name'],_0x031f('0x74'),_0x5b832d['pTalking']);this[_0x031f('0x146')](_0x4bc4fa,_0x4bc4fa[_0x031f('0xbb')],_0x4bc4fa[_0x031f('0x145')]);}else if(this[_0x031f('0x14')][_0x4bc4fa[_0x031f('0xbb')]][_0x031f('0x75')]){logger[_0x031f('0x59')](_0x031f('0x147'),_0x4bc4fa[_0x031f('0xbb')],_0x4bc4fa[_0x031f('0x145')],_0x031f('0xba'),_0x5b832d[_0x031f('0x27')],_0x031f('0x74'),_0x5b832d['pTalking']);this[_0x031f('0x146')](_0x4bc4fa,_0x4bc4fa[_0x031f('0xbb')],_0x4bc4fa['cause']);}}};Preview[_0x031f('0xd')][_0x031f('0x1c')]=function(_0x4d1330){if(this[_0x031f('0x14')][_0x4d1330[_0x031f('0x14b')]]&&_0x4d1330['destlinkedid']!==_0x4d1330['destuniqueid']){this[_0x031f('0x146')](_0x4d1330,_0x4d1330['destlinkedid'],_0x4d1330[_0x031f('0xe5')]);}};Preview['prototype'][_0x031f('0x1b')]=function(_0x34f035){if(this[_0x031f('0x14')][_0x34f035['linkedid']]&&_0x34f035['linkedid']!==_0x34f035[_0x031f('0xac')]&&!this[_0x031f('0x14')][_0x34f035[_0x031f('0xbb')]]['dialAnswer']){if(_0x34f035[_0x031f('0x145')]==='1'){this[_0x031f('0x146')](_0x34f035,_0x34f035['linkedid'],_0x34f035['cause']);}}};Preview[_0x031f('0xd')][_0x031f('0x14c')]=function(_0x40770c,_0x10c71c,_0x69999b){if(this['actions'][_0x40770c]){if(_['isNil'](this[_0x031f('0x14')][_0x40770c][_0x031f('0x14d')])){this['actions'][_0x40770c][_0x031f('0x14d')]={};}this[_0x031f('0x14')][_0x40770c]['variables'][_0x10c71c]=_0x69999b;}};Preview[_0x031f('0xd')][_0x031f('0x1f')]=function(_0x4ac1c6){try{if(!_[_0x031f('0x100')](_0x4ac1c6)){if(ut[_0x031f('0x14e')](_['keys'](_0x4ac1c6[_0x031f('0x14f')])[0x0])){this[_0x031f('0x14c')](_0x4ac1c6[_0x031f('0xac')],_['keys'](_0x4ac1c6[_0x031f('0x14f')])[0x0],_0x4ac1c6['value']);}}}catch(_0x7362fa){logger[_0x031f('0x150')](_0x031f('0x151'),util[_0x031f('0x152')](_0x7362fa,{'showHidden':![],'depth':null}));}};Preview[_0x031f('0xd')][_0x031f('0x21')]=function(_0x597358){if(_0x597358){if(this[_0x031f('0x14')][_0x597358[_0x031f('0x153')]]){this[_0x031f('0x14')][_0x597358[_0x031f('0x153')]][_0x031f('0x14a')]=!![];}}};Preview['prototype'][_0x031f('0x23')]=function(_0x491908){if(_0x491908){if(this[_0x031f('0x14')][_0x491908[_0x031f('0x154')]]){this[_0x031f('0x14')][_0x491908[_0x031f('0x154')]][_0x031f('0x14a')]=!![];}}};module[_0x031f('0x155')]=Preview;