30f17ae0bb632fdf8a6780d40fb099ecfc093b1f
[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 _0xefbe=['callAdditionalPhoneAfterMin','custom:agentbusy','busy','[callProgressDetectingCustomer][logBusy]','Global','[callProgressDetectingCustomer][logBusyGlobal]','dialBusyMaxRetry','activeContact','idContact','NOANSWER','outboundNoAnswerCallsDay','countnoanswerretry','NoAnswer','dialNoAnswerRetryFrequency','buildNoAnswerEventPayload','custom:agentnoanswer','[callProgressDetectingCustomer][logNoAnswer]','dialNoAnswerMaxRetry','outboundCongestionCallsDay','countcongestionretry','dialCongestionRetryFrequency','custom:agentcongestion','congestion','[callProgressDetectingCustomer][logCongestion]','[callProgressDetectingCustomer][logCongestionGlobal]','dialCongestionMaxRetry','CANCEL','outboundRejectCallsDay','countagentrejectretry','AgentReject','dialAgentRejectRetryFrequency','custom:agentreject','agentreject','[syncHangupRequest][logAgentReject]','[callProgressDetectingCustomer][logAgentReject]','outboundAbandonedCallsDay','countabandonedretry','[callProgressDetectingCustomer][logAbandoned]','dialAbandonedMaxRety','dialAbandonedRetryFrequency','countmachineretry','cause-txt','dialstatus','amd','[callProgressDetectingCustomer][hangupInAMD]','custom:amd','[callProgressDetectingCustomer][machine]','decrementTalking','[Dialer][decrementTalking][no\x20Hangup][Preview]','[callProgressDetectingCustomer][logUnknown]','[callProgressDetectingCustomer][logUnknownGlobal]','[callProgressDetectingCustomer]','destlinkedid','isUndefined','object','reason','logAgent','NoSuchNumber','createAgentHistory','Busy','[callProgressDetectingAgent][logCongestion]','AnswerAGI','[callProgressDetectingAgent]','[originated][decrement][callProgressDetectingAgent]','[swapAdditionalPhone]\x20','resolve','[incrementPreviewCounters]\x20','checkInBlack','Contact','phone','isEmpty','execCall','[Preview][execCall][success]','Queue:\x20','\x20IdHopper:\x20','custom:agentcalled','Calling','logger','[Preview][execCall][failure]','outboundBlacklistCallsDay','createHistory','active','SIP/%s','status','unmonitored','execRun','unlock','getContactPreview','checkIsBlackList','[Preview][checkIsBlackList]','[Preview][getContactPreview]','Call\x20unsuccessful','Empty\x20Contact','[Preview][validateContact][Empty\x20Campaign]','Empty\x20Campaign','Trunk','[Preview][validateContact][Trunk\x20not\x20working\x20correctly]','campaign\x20Name:\x20','\x20Trunk\x20is\x20not\x20active','\x20Trunk\x20Backup\x20is\x20not\x20active','[Preview][validateContact][Campaign\x20Active]','\x20Not\x20Active','SIP/%s/%s%s','dialPrefix','dialCutDigit','trim','substring','callerid','dialRandomLastDigitCallerIdNumber','dialOriginateCallerIdNumber','getCallerId','dialOriginateCallerIdName','getCallerIdRandom','extractCalleridName','extractCalleridNumber','setXMDContactVariables','merge','toLowerVariables','variables','variablesAction','[originated][increment]','OriginateError','[originateFailure][logOriginateFailure]','actionid','lookAgent','logLookAgent','responsetime','isFailure','custom:agentringnoanswer','rejected','callProgressDetectingAgent','Answer','syncHangup','[syncHangup][talking]','cause','[syncHangup][talking][cause]','statedesc','channelstate','transfer','[syncHangup][talking][transfer]','syncDialEnd','addVariable','filterKey','keys','variable','value','[syncVarSet][Preview]','inspect','syncAttendedTransfer','transfertargetlinkedid','transfererlinkedid','exports','uuid','moment','ioredis','../../../config/environment','../../../config/logger','preview','actionPreview','./rpcDb','./action','./util/util','../dialer/utils','redis','defaults','socket.io-emitter','prototype','enqueue','tail','finally','sequence','trunks','agents','clockClearZombieChannels','syncOriginateResponse','bind','hangup','syncHangupRequest','dialend','newexten','syncNewExten','varset','syncVarSet','attendedtransfer','blindtransfer','syncBlindTransfer','loopCampaigns','campaignsPreview','emit','info','[DEBUG]\x20Emit\x20voice_queue_channel:remove\x20event','stringify','format','voice:queue:%s','voice_queue_channel:remove','voice_queue_presence:remove','sendMessageOneNotActive','originated','pTalking','available','paused','message','INACTIVE','[CampaignPreview]\x20Campaign\x20Queue:\x20','\x20is\x20not\x20active','CAMPAIGN_STATUS','name','syncCampaigns','hasOwnProperty','dialMethod','booked','outbound','dialActive','setMessage','dialPreviewAutoRecallMe','recallMe','isNil','actions','[clearZombieChannels][talking]','Queue','queue','originated:\x20','pTalking:\x20','dialAnswer','pick','VoiceQueueId','ListId','Action','channel','catch','No\x20such\x20channel','decrementOriginate','loggerError','[Dialer][checkChannel][pTalking][Preview]','[Dialer][checkChannel][Preview]','clearZombieChannels','[action]','size','clearZombieChannel','getContactRecallMe','agentReadyId','scheduledat','dialRecallMeTimeout','Agent','voicePause','run','then','logger2','[RecallMe]','disableContact','starttime','YYYY-MM-DD\x20HH:mm:ss','logCustomer','RecallInQueue','rescheduleContactInQueue','createBody','createCustomerHistory','[HistoryDialRecallInQueue][historyCatch]','RecallFailedTimeout','[HistoryRecallClose]','createCustomerFinal','[getContactRecallMe]','loggedIn','NO_AGENTS_LOGGED','isActive','isTrunkReachable','TrunkBackup','UNREACHABLE_TRUNK','ACTIVE','callProgressDetectingCustomer','outboundNoSuchCallsDay','countnosuchnumberretry','countglobal','totalGlobal','custom:agentnosuchnumber','buildObj','nosuchnumber','[callProgressDetectingCustomer][logNoSuch]','verifyAdditionalPhones','additional','dialNoSuchNumberRetryFrequency','dialGlobalMaxRetry','cloneAction','[callProgressDetectingCustomer][logNoSuchGlobal]','rescheduleContact','scheduledAt','unlockAgent','linkedid','incrementPreviewCounters','swapAdditionalPhones','ANSWER','answertime','[syncHangup][talking][increment]','uniqueid','\x20Queue','custom:agentconnect','connect','acw','mandatoryDisposition','custom:agentConnectPreview','custom:agentcomplete','complete','outboundAnswerCallsDay','total','answered','[16]','[callProgressDetectingCustomer][logAnswer]','crateCustomerReportQueue','sumBillable','talktime','[syncHangup][talking][decrement]','BUSY','countbusyretry','dialBusyRetryFrequency'];(function(_0x8ba19a,_0x1d2b2b){var _0x2bd8b4=function(_0xee823f){while(--_0xee823f){_0x8ba19a['push'](_0x8ba19a['shift']());}};_0x2bd8b4(++_0x1d2b2b);}(_0xefbe,0x98));var _0xeefb=function(_0x19c1c6,_0x28bdee){_0x19c1c6=_0x19c1c6-0x0;var _0x4000f3=_0xefbe[_0x19c1c6];return _0x4000f3;};'use strict';var util=require('util');var _=require('lodash');var uuid=require(_0xeefb('0x0'));var moment=require(_0xeefb('0x1'));var Redis=require(_0xeefb('0x2'));var config=require(_0xeefb('0x3'));var logger=require(_0xeefb('0x4'))(_0xeefb('0x5'));var loggerAction=require(_0xeefb('0x4'))(_0xeefb('0x6'));var ami=require('../ami');var rpcDb=require(_0xeefb('0x7'));var cmHopperAdditionalPhone=require('../rpc/cmHopperAdditionalPhone');var Action=require(_0xeefb('0x8'));var ut=require(_0xeefb('0x9'));var utils=require(_0xeefb('0xa'));config[_0xeefb('0xb')]=_[_0xeefb('0xc')](config[_0xeefb('0xb')],{'host':'localhost','port':0x18eb});var io=require(_0xeefb('0xd'))(new Redis(config[_0xeefb('0xb')]));var Sequence=function(){};Sequence[_0xeefb('0xe')][_0xeefb('0xf')]=function(_0x4246ab){this[_0xeefb('0x10')]=this[_0xeefb('0x10')]?this[_0xeefb('0x10')][_0xeefb('0x11')](_0x4246ab):_0x4246ab();};function Preview(_0x5c9fbe){this[_0xeefb('0x12')]=new Sequence();this['campaignsPreview']=_0x5c9fbe['voiceQueues'];this[_0xeefb('0x13')]=_0x5c9fbe[_0xeefb('0x13')];this['actions']={};this[_0xeefb('0x14')]=_0x5c9fbe['agents'];this[_0xeefb('0x15')]=0x0;ami['on']('originateresponse',this[_0xeefb('0x16')][_0xeefb('0x17')](this));ami['on'](_0xeefb('0x18'),this['syncHangup'][_0xeefb('0x17')](this));ami['on']('hanguprequest',this[_0xeefb('0x19')][_0xeefb('0x17')](this));ami['on'](_0xeefb('0x1a'),this['syncDialEnd'][_0xeefb('0x17')](this));ami['on'](_0xeefb('0x1b'),this[_0xeefb('0x1c')][_0xeefb('0x17')](this));ami['on'](_0xeefb('0x1d'),this[_0xeefb('0x1e')][_0xeefb('0x17')](this));ami['on'](_0xeefb('0x1f'),this['syncAttendedTransfer'][_0xeefb('0x17')](this));ami['on'](_0xeefb('0x20'),this[_0xeefb('0x21')]['bind'](this));this[_0xeefb('0x22')](this[_0xeefb('0x23')]);}function emit(_0x3cef2c,_0x4771c8,_0x2ef7a8){io['to'](_0x3cef2c)[_0xeefb('0x24')](_0x4771c8,_0x2ef7a8);}function emitVoiceQueueChannelRemove(_0x48f968){logger[_0xeefb('0x25')](_0xeefb('0x26'),JSON[_0xeefb('0x27')](_0x48f968));emit(util[_0xeefb('0x28')](_0xeefb('0x29'),_0x48f968['name']),_0xeefb('0x2a'),_0x48f968);io[_0xeefb('0x24')](_0xeefb('0x2b'),_0x48f968);}function notSendMessagesQueue(_0x1dd59f){if(_0x1dd59f[_0xeefb('0x2c')]){if(_0x1dd59f[_0xeefb('0x2d')]===0x0&&_0x1dd59f[_0xeefb('0x2e')]===0x0){_0x1dd59f[_0xeefb('0x2c')]=![];_0x1dd59f[_0xeefb('0x2f')]=0x0;_0x1dd59f[_0xeefb('0x30')]=0x0;_0x1dd59f[_0xeefb('0x31')]=utils['CAMPAIGN_STATUS'][_0xeefb('0x32')];ut['logger'](_0xeefb('0x33'),_0x1dd59f['name']+_0xeefb('0x34'));}else{_0x1dd59f[_0xeefb('0x31')]=utils[_0xeefb('0x35')]['DEACTIVATED'];ut['logger'](_0xeefb('0x33'),_0x1dd59f[_0xeefb('0x36')]+'\x20is\x20deactivated');}}}Preview[_0xeefb('0xe')][_0xeefb('0x22')]=function(){var _0x48f71f=this;setInterval(function(){_0x48f71f[_0xeefb('0x37')]();},0x7cf);};Preview[_0xeefb('0xe')][_0xeefb('0x37')]=function(){var _0x5e95e8=this['campaignsPreview'];this['clockClearZombieChannels']+=0x1;for(var _0x14475f in _0x5e95e8){if(_0x5e95e8[_0xeefb('0x38')](_0x14475f)&&(_0x5e95e8[_0x14475f]['dialMethod']===_0xeefb('0x5')||_0x5e95e8[_0x14475f][_0xeefb('0x39')]===_0xeefb('0x3a'))&&_0x5e95e8[_0x14475f]['type']===_0xeefb('0x3b')){if(this[_0xeefb('0x15')]>0x7){this['clockClearZombieChannels']=0x0;this['clearZombieChannels']();}}if(_0x5e95e8[_0xeefb('0x38')](_0x14475f)&&_0x5e95e8[_0x14475f][_0xeefb('0x39')]===_0xeefb('0x5')&&_0x5e95e8[_0x14475f]['type']===_0xeefb('0x3b')){if(_0x5e95e8[_0x14475f][_0xeefb('0x3c')]){this[_0xeefb('0x3d')](_0x5e95e8[_0x14475f]);if(_0x5e95e8[_0x14475f][_0xeefb('0x3e')])this[_0xeefb('0x3f')](_0x5e95e8[_0x14475f]);}else{notSendMessagesQueue(_0x5e95e8[_0x14475f]);}}}};Preview[_0xeefb('0xe')]['clearZombieChannel']=function(_0xc5b210){var _0x3a7090=this;this[_0xeefb('0x12')][_0xeefb('0xf')](function(){if(!_[_0xeefb('0x40')](_0x3a7090[_0xeefb('0x41')][_0xc5b210])){loggerAction['info'](_0xeefb('0x42'),_0xc5b210,_0xeefb('0x43'),_0x3a7090[_0xeefb('0x41')][_0xc5b210][_0xeefb('0x44')],_0xeefb('0x45'),JSON[_0xeefb('0x27')](_0x3a7090['campaignsPreview'][_0x3a7090[_0xeefb('0x41')][_0xc5b210][_0xeefb('0x44')]][_0xeefb('0x2d')]),_0xeefb('0x46'),JSON[_0xeefb('0x27')](_0x3a7090[_0xeefb('0x23')][_0x3a7090[_0xeefb('0x41')][_0xc5b210][_0xeefb('0x44')]][_0xeefb('0x2e')]),JSON['stringify'](_0x3a7090['actions'][_0xc5b210][_0xeefb('0x47')]),JSON[_0xeefb('0x27')](_[_0xeefb('0x48')](_0x3a7090[_0xeefb('0x41')][_0xc5b210],['contactId','UserId',_0xeefb('0x49'),_0xeefb('0x4a')])));return ami[_0xeefb('0x4b')]({'action':'status','channel':_0x3a7090[_0xeefb('0x41')][_0xc5b210][_0xeefb('0x4c')]})[_0xeefb('0x4d')](function(_0x3ca413){if(_0x3ca413[_0xeefb('0x31')]===_0xeefb('0x4e')){setTimeout(function(){if(_0x3a7090[_0xeefb('0x41')][_0xc5b210]){utils[_0xeefb('0x4f')](_0x3a7090[_0xeefb('0x23')][_0x3a7090[_0xeefb('0x41')][_0xc5b210][_0xeefb('0x44')]],'[clearZombieChannel]');if(_0x3a7090['actions'][_0xc5b210]['dialAnswer']===!![]){ut['decrementTalking'](_0x3a7090['campaignsPreview'][_0x3a7090[_0xeefb('0x41')][_0xc5b210]['queue']],'[clearZombieChannel]');ut[_0xeefb('0x50')](_0xeefb('0x51')+_0xc5b210,_0x3a7090[_0xeefb('0x41')][_0xc5b210]['queue']);}ut[_0xeefb('0x50')](_0xeefb('0x52')+_0xc5b210,_0x3a7090[_0xeefb('0x41')][_0xc5b210][_0xeefb('0x44')]);delete _0x3a7090[_0xeefb('0x41')][_0xc5b210];}},0x2328);}});}});};Preview[_0xeefb('0xe')][_0xeefb('0x53')]=function(){var _0x4d946d=this;loggerAction['info'](_0xeefb('0x54'),_[_0xeefb('0x55')](this[_0xeefb('0x41')]));for(var _0x49bb27 in this['actions']){if(_0x4d946d['actions'][_0xeefb('0x38')](_0x49bb27)){_0x4d946d[_0xeefb('0x56')](_0x49bb27);}}};Preview[_0xeefb('0xe')][_0xeefb('0x3f')]=function(_0x12596d){var _0x552058=this;rpcDb[_0xeefb('0x57')](_0x12596d['id'],ut[_0xeefb('0x58')](this[_0xeefb('0x14')]))['then'](function(_0x34af12){if(!_[_0xeefb('0x40')](_0x34af12)){for(var _0x128485=0x0;_0x128485<_0x34af12['length'];_0x128485+=0x1){if(ut['getDiff'](_0x34af12[_0x128485][_0xeefb('0x59')])<_0x12596d[_0xeefb('0x5a')]*0x3c){if(_0x34af12[_0x128485][_0xeefb('0x5b')]&&!_0x34af12[_0x128485][_0xeefb('0x5b')][_0xeefb('0x5c')]){_0x552058[_0xeefb('0x5d')](_0x34af12[_0x128485]['id'])[_0xeefb('0x5e')](ut[_0xeefb('0x5f')](_0xeefb('0x60')))[_0xeefb('0x4d')](ut[_0xeefb('0x5f')](_0xeefb('0x60')));}else{rpcDb[_0xeefb('0x61')](_0x34af12[_0x128485]['id']);}}else{var _0x44922c=new Action(_0x34af12[_0x128485],_0x12596d);_0x44922c[_0xeefb('0x62')]=moment()['format'](_0xeefb('0x63'));_0x12596d['outboundReCallsDay']+=0x1;ut[_0xeefb('0x64')](_0x44922c,0x17,_0xeefb('0x65'));if(_0x12596d['dialRecallInQueue']){rpcDb[_0xeefb('0x66')](ut[_0xeefb('0x67')](_0x34af12[_0x128485]));rpcDb[_0xeefb('0x68')](_0x44922c,_0xeefb('0x69'));}else{ut[_0xeefb('0x64')](_0x44922c,0x16,_0xeefb('0x6a'));rpcDb[_0xeefb('0x68')](_0x44922c,_0xeefb('0x6b'));rpcDb[_0xeefb('0x6c')](_0x44922c,_0xeefb('0x6b'));}}}}})[_0xeefb('0x4d')](ut['logger2'](_0xeefb('0x6d')));};Preview['prototype'][_0xeefb('0x3d')]=function(_0x24261f){_0x24261f['sendMessageOneNotActive']=!![];if(ut['IsNotLoggedIn'](_0x24261f[_0xeefb('0x6e')])){_0x24261f[_0xeefb('0x31')]=utils[_0xeefb('0x35')][_0xeefb('0x6f')];}else if(!ut[_0xeefb('0x70')](_0x24261f[_0xeefb('0x3c')])){_0x24261f[_0xeefb('0x31')]=utils[_0xeefb('0x35')][_0xeefb('0x32')];}else if(!this[_0xeefb('0x71')](_0x24261f['Trunk'])){if(!this[_0xeefb('0x71')](_0x24261f[_0xeefb('0x72')])){_0x24261f[_0xeefb('0x31')]=utils[_0xeefb('0x35')][_0xeefb('0x73')];}else{_0x24261f[_0xeefb('0x31')]=utils[_0xeefb('0x35')][_0xeefb('0x74')];}}else{_0x24261f['message']=utils[_0xeefb('0x35')][_0xeefb('0x74')];}};Preview[_0xeefb('0xe')][_0xeefb('0x75')]=function(_0x30d058,_0x310058,_0x286c3c){var _0x252350=this;var _0x52cd4c=this[_0xeefb('0x41')][_0x310058];var _0x5567e=this[_0xeefb('0x23')][_0x52cd4c[_0xeefb('0x44')]];var _0x2123b9;var _0x1b0f27=![];var _0x243a63=0x2;var _0xbae5ab=0x3;if(_0x5567e){switch(_0x286c3c){case'1':_0x5567e[_0xeefb('0x76')]+=0x1;_0x52cd4c[_0xeefb('0x77')]+=0x1;_0x52cd4c[_0xeefb('0x78')]=ut[_0xeefb('0x79')](_0x52cd4c);ut[_0xeefb('0x64')](_0x52cd4c,0x0,'NoSuchNumber');ami[_0xeefb('0x24')](_0xeefb('0x7a'),ut[_0xeefb('0x7b')](_0x52cd4c,_0xeefb('0x7c')));rpcDb[_0xeefb('0x68')](_0x52cd4c,_0xeefb('0x7d'));_0x252350[_0xeefb('0x7e')](_0x52cd4c,'0',_0x5567e)[_0xeefb('0x5e')](function(_0x27d381){_0x1b0f27=_0x27d381[_0xeefb('0x7f')]==0x1;_0x243a63=_0x5567e[_0xeefb('0x80')];_0xbae5ab=_0x5567e['callAdditionalPhoneAfterMin'];if(!_0x1b0f27){if(ut['totalGlobal'](_0x52cd4c)>=_0x5567e[_0xeefb('0x81')]){_0x2123b9=ut[_0xeefb('0x82')](_0x52cd4c,0xf,'Global');rpcDb['createCustomerFinal'](_0x2123b9,_0xeefb('0x83'));}else{if(_0x52cd4c[_0xeefb('0x77')]>=_0x5567e['dialNoSuchNumberMaxRetry']){rpcDb[_0xeefb('0x6c')](_0x52cd4c,'[callProgressDetectingCustomer][logNoSuchGlobal]');}else{rpcDb[_0xeefb('0x84')](ut[_0xeefb('0x85')](_0x52cd4c,_0xeefb('0x77'),_0x5567e['dialNoSuchNumberRetryFrequency']),_0x52cd4c[_0xeefb('0x86')],_0x52cd4c['activeContact']);}}delete this[_0xeefb('0x41')][_0x30d058[_0xeefb('0x87')]];}else{_0x52cd4c[_0xeefb('0x77')]++;logger[_0xeefb('0x25')]('actioncountonusuch',_0x52cd4c[_0xeefb('0x77')]);logger[_0xeefb('0x25')]('id',_0x52cd4c['idContact']);_0x252350[_0xeefb('0x88')]({'id':_0x52cd4c['idContact'],'field':{'countnosuchnumberretry':_0x52cd4c[_0xeefb('0x77')]}})[_0xeefb('0x5e')](function(){_0x252350[_0xeefb('0x89')](_0x52cd4c,_0x243a63,_0xbae5ab)[_0xeefb('0x5e')](function(){});});}});break;case _0xeefb('0x8a'):var _0x1c0df6=moment()[_0xeefb('0x28')](_0xeefb('0x63'));_0x52cd4c['responsetime']=_0x1c0df6;_0x52cd4c[_0xeefb('0x8b')]=_0x1c0df6;_0x52cd4c[_0xeefb('0x47')]=!![];_0x5567e[_0xeefb('0x2e')]+=0x1;logger[_0xeefb('0x25')](_0xeefb('0x8c'),_0x52cd4c[_0xeefb('0x8d')],_0xeefb('0x8e'),_0x5567e[_0xeefb('0x36')],_0xeefb('0x46'),_0x5567e[_0xeefb('0x2e')]);ami[_0xeefb('0x24')](_0xeefb('0x8f'),ut['buildObj'](_0x52cd4c,_0xeefb('0x90'),this[_0xeefb('0x23')][_0x52cd4c[_0xeefb('0x44')]]));if(_0x5567e[_0xeefb('0x91')]||_0x5567e[_0xeefb('0x92')]){ami[_0xeefb('0x24')](_0xeefb('0x93'),{'queue':_0x52cd4c[_0xeefb('0x44')],'interface':_0x52cd4c['channelAgent'],'uniqueid':_0x52cd4c[_0xeefb('0x8d')]});}break;case'16':ami[_0xeefb('0x24')](_0xeefb('0x94'),ut['buildObj'](_0x52cd4c,_0xeefb('0x95'),this[_0xeefb('0x23')][_0x52cd4c['queue']]));emitVoiceQueueChannelRemove(ut[_0xeefb('0x7b')](_0x52cd4c,_0xeefb('0x95')));_0x5567e[_0xeefb('0x96')]+=0x1;_0x5567e[_0xeefb('0x97')]+=0x1;_0x5567e[_0xeefb('0x98')]+=0x1;ut['decrementTalking'](_0x5567e,_0xeefb('0x99'));_0x52cd4c['countglobal']=ut[_0xeefb('0x79')](_0x52cd4c);ut[_0xeefb('0x64')](_0x52cd4c,0x4,'Answer');rpcDb['createCustomerHistory'](_0x52cd4c,_0xeefb('0x9a'));rpcDb[_0xeefb('0x6c')](_0x52cd4c,'[callProgressDetectingCustomer][logAnswerGlobal]');rpcDb[_0xeefb('0x9b')](_0x52cd4c);_0x5567e['sumDuration']+=_0x52cd4c['talktime'];_0x5567e[_0xeefb('0x9c')]+=_0x52cd4c[_0xeefb('0x9d')];logger[_0xeefb('0x25')](_0xeefb('0x9e'),_0x52cd4c[_0xeefb('0x8d')],_0xeefb('0x8e'),_0x5567e[_0xeefb('0x36')],'pTalking:\x20',_0x5567e['pTalking']);delete this[_0xeefb('0x41')][_0x30d058['linkedid']];break;case _0xeefb('0x9f'):_0x5567e['outboundBusyCallsDay']+=0x1;_0x52cd4c[_0xeefb('0xa0')]+=0x1;_0x52cd4c['countglobal']=ut[_0xeefb('0x79')](_0x52cd4c);ut[_0xeefb('0x64')](_0x52cd4c,0x5,'Busy');_0x243a63=_0x5567e[_0xeefb('0xa1')];_0xbae5ab=_0x5567e[_0xeefb('0xa2')];ami[_0xeefb('0x24')](_0xeefb('0xa3'),ut[_0xeefb('0x7b')](_0x52cd4c,_0xeefb('0xa4')));rpcDb['createCustomerHistory'](_0x52cd4c,_0xeefb('0xa5'));_0x252350['verifyAdditionalPhones'](_0x52cd4c,'5',_0x5567e)['then'](function(_0x4ffb30){_0x1b0f27=_0x4ffb30[_0xeefb('0x7f')]==0x1;if(!_0x1b0f27){if(ut[_0xeefb('0x79')](_0x52cd4c)>=_0x5567e['dialGlobalMaxRetry']){_0x2123b9=ut['cloneAction'](_0x52cd4c,0xf,_0xeefb('0xa6'));rpcDb['createCustomerFinal'](_0x2123b9,_0xeefb('0xa7'));}else{if(_0x52cd4c['countbusyretry']>=_0x5567e[_0xeefb('0xa8')]){rpcDb['createCustomerFinal'](_0x52cd4c,_0xeefb('0xa5'));}else{rpcDb[_0xeefb('0x84')](ut[_0xeefb('0x85')](_0x52cd4c,_0xeefb('0xa0'),_0x5567e['dialBusyRetryFrequency']),_0x52cd4c[_0xeefb('0x86')],_0x52cd4c[_0xeefb('0xa9')]);}}}else{_0x52cd4c['countbusyretry']++;_0x252350['incrementPreviewCounters']({'id':_0x52cd4c[_0xeefb('0xaa')],'field':{'countbusyretry':_0x52cd4c['countbusyretry']}})[_0xeefb('0x5e')](function(){_0x252350['swapAdditionalPhones'](_0x52cd4c,_0x243a63,_0xbae5ab)[_0xeefb('0x5e')](function(){});});}});break;case _0xeefb('0xab'):_0x5567e[_0xeefb('0xac')]+=0x1;_0x52cd4c[_0xeefb('0xad')]+=0x1;_0x52cd4c[_0xeefb('0x78')]=ut[_0xeefb('0x79')](_0x52cd4c);ut['logCustomer'](_0x52cd4c,0x3,_0xeefb('0xae'));_0x243a63=_0x5567e[_0xeefb('0xaf')];_0xbae5ab=_0x5567e[_0xeefb('0xa2')];var _0xb4c6de=ut[_0xeefb('0xb0')](_0x52cd4c,_0x5567e);ami[_0xeefb('0x24')](_0xeefb('0xb1'),_0xb4c6de);rpcDb[_0xeefb('0x68')](_0x52cd4c,_0xeefb('0xb2'));_0x252350['verifyAdditionalPhones'](_0x52cd4c,'3',_0x5567e)[_0xeefb('0x5e')](function(_0x2ec442){_0x1b0f27=_0x2ec442[_0xeefb('0x7f')]==0x1;if(!_0x1b0f27){if(ut[_0xeefb('0x79')](_0x52cd4c)>=_0x5567e[_0xeefb('0x81')]){_0x2123b9=ut[_0xeefb('0x82')](_0x52cd4c,0xf,'Global');rpcDb[_0xeefb('0x6c')](_0x2123b9,'[callProgressDetectingCustomer][logNoAnswerGlobal]');}else{if(_0x52cd4c[_0xeefb('0xad')]>=_0x5567e[_0xeefb('0xb3')]){rpcDb['createCustomerFinal'](_0x52cd4c,_0xeefb('0xb2'));}else{rpcDb[_0xeefb('0x84')](ut[_0xeefb('0x85')](_0x52cd4c,_0xeefb('0xad'),_0x5567e[_0xeefb('0xaf')]),_0x52cd4c[_0xeefb('0x86')],_0x52cd4c[_0xeefb('0xa9')]);}}}else{_0x52cd4c['countnoanswerretry']++;_0x252350[_0xeefb('0x88')]({'id':_0x52cd4c[_0xeefb('0xaa')],'field':{'countnoanswerretry':_0x52cd4c[_0xeefb('0xad')]}})[_0xeefb('0x5e')](function(){_0x252350[_0xeefb('0x89')](_0x52cd4c,_0x243a63,_0xbae5ab)[_0xeefb('0x5e')](function(){});});}});break;case'CONGESTION':_0x5567e[_0xeefb('0xb4')]+=0x1;_0x52cd4c[_0xeefb('0xb5')]+=0x1;_0x52cd4c[_0xeefb('0x78')]=ut[_0xeefb('0x79')](_0x52cd4c);ut['logCustomer'](_0x52cd4c,0x8,'Congestion');_0x243a63=_0x5567e[_0xeefb('0xb6')];_0xbae5ab=_0x5567e[_0xeefb('0xa2')];ami[_0xeefb('0x24')](_0xeefb('0xb7'),ut[_0xeefb('0x7b')](_0x52cd4c,_0xeefb('0xb8')));rpcDb[_0xeefb('0x68')](_0x52cd4c,_0xeefb('0xb9'));_0x252350[_0xeefb('0x7e')](_0x52cd4c,'8',_0x5567e)[_0xeefb('0x5e')](function(_0x209042){_0x1b0f27=_0x209042[_0xeefb('0x7f')]==0x1;if(!_0x1b0f27){if(ut['totalGlobal'](_0x52cd4c)>=_0x5567e[_0xeefb('0x81')]){_0x2123b9=ut[_0xeefb('0x82')](_0x52cd4c,0xf,_0xeefb('0xa6'));rpcDb['createCustomerFinal'](_0x2123b9,_0xeefb('0xba'));}else{if(_0x52cd4c['countcongestionretry']>=_0x5567e[_0xeefb('0xbb')]){rpcDb[_0xeefb('0x6c')](_0x52cd4c,'[callProgressDetectingCustomer][logCongestion]');}else{rpcDb[_0xeefb('0x84')](ut[_0xeefb('0x85')](_0x52cd4c,'countcongestionretry',_0x5567e[_0xeefb('0xa1')]),_0x52cd4c[_0xeefb('0x86')],_0x52cd4c['activeContact']);}}}else{_0x52cd4c['countcongestionretry']++;_0x252350[_0xeefb('0x88')]({'id':_0x52cd4c[_0xeefb('0xaa')],'field':{'countcongestionretry':_0x52cd4c[_0xeefb('0xb5')]}})[_0xeefb('0x5e')](function(){_0x252350[_0xeefb('0x89')](_0x52cd4c,_0x243a63,_0xbae5ab)[_0xeefb('0x5e')](function(){});});}});break;case _0xeefb('0xbc'):_0x5567e[_0xeefb('0xbd')]+=0x1;_0x52cd4c[_0xeefb('0xbe')]+=0x1;_0x52cd4c[_0xeefb('0x78')]=ut['totalGlobal'](_0x52cd4c);ut[_0xeefb('0x64')](_0x52cd4c,0x14,_0xeefb('0xbf'));_0x243a63=_0x5567e[_0xeefb('0xc0')];_0xbae5ab=_0x5567e[_0xeefb('0xa2')];ami[_0xeefb('0x24')](_0xeefb('0xc1'),ut['buildObj'](_0x52cd4c,_0xeefb('0xc2')));rpcDb['createCustomerHistory'](_0x52cd4c,_0xeefb('0xc3'));_0x252350[_0xeefb('0x7e')](_0x52cd4c,'20',_0x5567e)[_0xeefb('0x5e')](function(_0x369dea){_0x1b0f27=_0x369dea['additional']==0x1;if(!_0x1b0f27){if(ut['totalGlobal'](_0x52cd4c)>=_0x5567e['dialGlobalMaxRetry']){_0x2123b9=ut[_0xeefb('0x82')](_0x52cd4c,0x14,_0xeefb('0xbf'));rpcDb[_0xeefb('0x6c')](_0x2123b9,_0xeefb('0xc4'));}else{if(_0x52cd4c[_0xeefb('0xbe')]>=_0x5567e['dialAgentRejectMaxRetry']){rpcDb[_0xeefb('0x6c')](_0x52cd4c,'[callProgressDetectingCustomer][logAgentReject]');}else{rpcDb['rescheduleContact'](ut[_0xeefb('0x85')](_0x52cd4c,_0xeefb('0xbe'),_0x5567e['dialAgentRejectRetryFrequency']),_0x52cd4c[_0xeefb('0x86')],_0x52cd4c['activeContact']);}}}else{_0x52cd4c[_0xeefb('0xad')]++;_0x252350[_0xeefb('0x88')]({'id':_0x52cd4c[_0xeefb('0xaa')],'field':{'countnoanswerretry':_0x52cd4c[_0xeefb('0xad')]}})[_0xeefb('0x5e')](function(){_0x252350[_0xeefb('0x89')](_0x52cd4c,_0x243a63,_0xbae5ab)['then'](function(){});});}});break;case'ABANDONED':_0x5567e[_0xeefb('0xc5')]+=0x1;_0x52cd4c[_0xeefb('0xc6')]+=0x1;_0x52cd4c[_0xeefb('0x78')]=ut[_0xeefb('0x79')](_0x52cd4c);ut[_0xeefb('0x64')](_0x52cd4c,0xb,'Abandoned');rpcDb['createCustomerHistory'](_0x52cd4c,_0xeefb('0xc7'));_0x252350['verifyAdditionalPhones'](_0x52cd4c,'11',_0x5567e)[_0xeefb('0x5e')](function(_0x4db0f2){_0x1b0f27=_0x4db0f2['additional']==0x1;if(!_0x1b0f27){if(ut[_0xeefb('0x79')](_0x52cd4c)>=_0x5567e[_0xeefb('0x81')]){_0x2123b9=ut[_0xeefb('0x82')](_0x52cd4c,0xf,'Global');rpcDb[_0xeefb('0x6c')](_0x2123b9,_0xeefb('0xc7'));}else{if(_0x52cd4c['countabandonedetry']>=_0x5567e[_0xeefb('0xc8')]){rpcDb['createCustomerFinal'](_0x52cd4c,_0xeefb('0xc7'));}else{rpcDb[_0xeefb('0x84')](ut[_0xeefb('0x85')](_0x52cd4c,'countabandonedretry',_0x5567e[_0xeefb('0xc9')]),_0x52cd4c[_0xeefb('0x86')],_0x52cd4c[_0xeefb('0xa9')]);}}}else{_0x52cd4c[_0xeefb('0xad')]++;_0x252350[_0xeefb('0x88')]({'id':_0x52cd4c[_0xeefb('0xaa')],'field':{'countnoanswerretry':_0x52cd4c[_0xeefb('0xad')]}})['then'](function(){_0x252350[_0xeefb('0x89')](_0x52cd4c,_0x243a63,_0xbae5ab)[_0xeefb('0x5e')](function(){});});}});break;case'18':_0x5567e['outboundUnknownCallsDay']+=0x1;_0x52cd4c[_0xeefb('0xca')]+=0x1;_0x52cd4c['countglobal']=ut[_0xeefb('0x79')](_0x52cd4c);ut[_0xeefb('0x64')](_0x52cd4c,0x12,_0x30d058[_0xeefb('0xcb')]||_0x30d058[_0xeefb('0xcc')]);ami['emit']('custom:amd',ut[_0xeefb('0x7b')](_0x52cd4c,_0xeefb('0xcd')));rpcDb[_0xeefb('0x68')](_0x52cd4c,_0xeefb('0xce'));_0x252350['verifyAdditionalPhones'](_0x52cd4c,'18',_0x5567e)[_0xeefb('0x5e')](function(_0x180d65){_0x1b0f27=_0x180d65[_0xeefb('0x7f')]==0x1;if(!_0x1b0f27){if(ut[_0xeefb('0x79')](_0x52cd4c)>=_0x5567e['dialGlobalMaxRetry']){_0x2123b9=ut['cloneAction'](_0x52cd4c,0x12,'Global');rpcDb[_0xeefb('0x6c')](_0x2123b9,_0xeefb('0xce'));}else{rpcDb['createCustomerFinal'](_0x52cd4c,_0xeefb('0xce'));}}else{_0x52cd4c['countnoanswerretry']++;_0x252350[_0xeefb('0x88')]({'id':_0x52cd4c['idContact'],'field':{'countnoanswerretry':_0x52cd4c[_0xeefb('0xad')]}})['then'](function(){_0x252350[_0xeefb('0x89')](_0x52cd4c,_0x243a63,_0xbae5ab)[_0xeefb('0x5e')](function(){});});}});delete this['actions'][_0x30d058[_0xeefb('0x87')]];break;case'19':_0x5567e['outboundUnknownCallsDay']+=0x1;_0x52cd4c['countglobal']=ut[_0xeefb('0x79')](_0x52cd4c);ut[_0xeefb('0x64')](_0x52cd4c,0x13,_0x30d058[_0xeefb('0xcb')]||_0x30d058[_0xeefb('0xcc')]);ami[_0xeefb('0x24')](_0xeefb('0xcf'),ut['buildObj'](_0x52cd4c,_0xeefb('0xcd')));rpcDb['createCustomerHistory'](_0x52cd4c,_0xeefb('0xd0'));_0x252350[_0xeefb('0x7e')](_0x52cd4c,'18',_0x5567e)[_0xeefb('0x5e')](function(_0x1aeee4){_0x1b0f27=_0x1aeee4[_0xeefb('0x7f')]==0x1;if(!_0x1b0f27){if(ut[_0xeefb('0x79')](_0x52cd4c)>=_0x5567e[_0xeefb('0x81')]){_0x2123b9=ut[_0xeefb('0x82')](_0x52cd4c,0xf,_0xeefb('0xa6'));rpcDb[_0xeefb('0x6c')](_0x2123b9,'[callProgressDetectingCustomer][machine]');}else{rpcDb['createCustomerFinal'](_0x52cd4c,'[callProgressDetectingCustomer][machine]');}}else{_0x52cd4c[_0xeefb('0xad')]++;_0x252350[_0xeefb('0x88')]({'id':_0x52cd4c[_0xeefb('0xaa')],'field':{'countnoanswerretry':_0x52cd4c['countnoanswerretry']}})[_0xeefb('0x5e')](function(){_0x252350['swapAdditionalPhones'](_0x52cd4c,_0x243a63,_0xbae5ab)[_0xeefb('0x5e')](function(){});});}});delete this['actions'][_0x30d058[_0xeefb('0x87')]];break;default:if(_0x52cd4c[_0xeefb('0x47')]){ut[_0xeefb('0xd1')](_0x5567e,'[default]');ut[_0xeefb('0x50')](_0xeefb('0xd2')+_0x5567e['name'],_0x30d058);}_0x5567e['outboundUnknownCallsDay']+=0x1;_0x52cd4c[_0xeefb('0x78')]=ut['totalGlobal'](_0x52cd4c);ut[_0xeefb('0x64')](_0x52cd4c,0xc,_0x30d058['cause-txt']||_0x30d058['dialstatus']);_0x243a63=_0x5567e['dialAgentRejectRetryFrequency'];_0xbae5ab=_0x5567e[_0xeefb('0xa2')];rpcDb['createCustomerHistory'](_0x52cd4c,_0xeefb('0xd3'));_0x252350['verifyAdditionalPhones'](_0x52cd4c,'20',_0x5567e)[_0xeefb('0x5e')](function(_0x142398){_0x1b0f27=_0x142398[_0xeefb('0x7f')]==0x1;if(!_0x1b0f27){if(ut[_0xeefb('0x79')](_0x52cd4c)>=_0x5567e['dialGlobalMaxRetry']){_0x2123b9=ut[_0xeefb('0x82')](_0x52cd4c,0xf,'Global');rpcDb[_0xeefb('0x6c')](_0x2123b9,_0xeefb('0xd4'));}else{rpcDb[_0xeefb('0x6c')](_0x52cd4c,'[callProgressDetectingCustomer][logUnknownGlobal]');}delete this[_0xeefb('0x41')][_0x30d058[_0xeefb('0x87')]];}else{_0x252350[_0xeefb('0x89')](_0x52cd4c,_0x243a63,_0xbae5ab)['then'](function(){});}});}if(!(_0x52cd4c[_0xeefb('0x47')]&&_0x286c3c==='16')){utils['decrementOriginate'](_0x5567e,_0xeefb('0xd5'));logger[_0xeefb('0x25')]('[originated][decrement][callProgressDetectingCustomer]',_0x52cd4c[_0xeefb('0x8d')],_0xeefb('0x8e'),_0x5567e[_0xeefb('0x36')],_0xeefb('0x45'),_0x5567e[_0xeefb('0x2d')]);}if(_0x286c3c!==_0xeefb('0x8a')){delete this[_0xeefb('0x41')][_0x30d058[_0xeefb('0x87')]];delete this[_0xeefb('0x41')][_0x30d058[_0xeefb('0xd6')]];}_0x5567e['queueSummaryCountersUpdated']=!![];}};Preview[_0xeefb('0xe')]['callProgressDetectingAgent']=function(_0x3e7490,_0x4ecfa4,_0xbba5c9){if(_['isUndefined'](_0x4ecfa4)&&'object'!==typeof _0x4ecfa4){return;}if(_[_0xeefb('0xd7')](_0xbba5c9)&&_0xeefb('0xd8')!==typeof _0xbba5c9){return;}switch(_0xbba5c9[_0xeefb('0xd9')]){case'0':ut[_0xeefb('0xda')](_0x3e7490,0x0,_0xeefb('0xdb'));rpcDb[_0xeefb('0xdc')](_0x3e7490,'[callProgressDetectingAgent][logNoSuch]');break;case'3':ut[_0xeefb('0xda')](_0x3e7490,0x3,'NoAnswer');rpcDb[_0xeefb('0xdc')](_0x3e7490,'[callProgressDetectingAgent][logNoAnswer]');break;case'5':ut[_0xeefb('0xda')](_0x3e7490,0x5,_0xeefb('0xdd'));rpcDb[_0xeefb('0xdc')](_0x3e7490,'[callProgressDetectingAgent][logBusy]');break;case'8':ut['logAgent'](_0x3e7490,0x8,'Congestion');rpcDb[_0xeefb('0xdc')](_0x3e7490,_0xeefb('0xde'));break;case'22':ut['logAgent'](_0x3e7490,0x16,_0xeefb('0xdf'));rpcDb['createAgentHistory'](_0x3e7490,'[callProgressDetectingAgent][logAnswerAGI]');break;default:ut['logAgent'](_0x3e7490,0xc,_0xbba5c9[_0xeefb('0xd9')]);rpcDb[_0xeefb('0xdc')](_0x3e7490,_0xeefb('0xde'));}utils[_0xeefb('0x4f')](_0x4ecfa4,_0xeefb('0xe0'));logger[_0xeefb('0x25')](_0xeefb('0xe1'),_0x3e7490[_0xeefb('0x8d')],_0xeefb('0x8e'),_0x4ecfa4[_0xeefb('0x36')],_0xeefb('0x45'),_0x4ecfa4[_0xeefb('0x2d')]);delete this[_0xeefb('0x41')][_0x3e7490[_0xeefb('0x8d')]];};Preview[_0xeefb('0xe')][_0xeefb('0x7e')]=function(_0x227801,_0x51878b,_0x5c02a6){return cmHopperAdditionalPhone['verifyAdditionalPhones'](_0x227801,_0x51878b,_0x5c02a6)[_0xeefb('0x4d')](logger[_0xeefb('0x25')]('[verifyAdditionalPhone]\x20'));};Preview[_0xeefb('0xe')][_0xeefb('0x89')]=function(_0x53595d,_0x4df6ef,_0x47c48c){return cmHopperAdditionalPhone[_0xeefb('0x89')](_0x53595d,_0x4df6ef,_0x47c48c)[_0xeefb('0x4d')](logger['info'](_0xeefb('0xe2')));};Preview[_0xeefb('0xe')]['incrementPreviewCounters']=function(_0x5238b5){return Promise[_0xeefb('0xe3')]()[_0xeefb('0x5e')](cmHopperAdditionalPhone[_0xeefb('0x88')](_0x5238b5))['catch'](logger['info'](_0xeefb('0xe4')));};Preview[_0xeefb('0xe')][_0xeefb('0xe5')]=function(_0x3bdc5d,_0x33fb1a,_0x55cc8e,_0x3929b3,_0x1072ea){var _0x572a97=this;return new Promise(function(_0x32a7a7,_0x56d391){if(_['isNil'](_0x33fb1a)||_[_0xeefb('0x40')](_0x33fb1a[_0xeefb('0xe6')])||_[_0xeefb('0x40')](_0x33fb1a[_0xeefb('0xe7')])||_[_0xeefb('0x40')](_0x33fb1a[_0xeefb('0x49')])){_0x56d391(ut[_0xeefb('0x31')]('Contact\x20is\x20undefined',_0x3929b3,_0x1072ea));return;}var _0x4a3dc5=uuid['v4']();var _0x555639=_0x572a97[_0xeefb('0x23')][_0x33fb1a['Queue']['name']];var _0x17422b=_0x55cc8e?_0x572a97[_0xeefb('0x14')][_0x55cc8e]['id']:undefined;_0x572a97['actions'][_0x4a3dc5]=new Action(_0x33fb1a,_0x555639,_0x4a3dc5,_0x55cc8e,_0x17422b);var _0x11f44c=_0x572a97['actions'][_0x4a3dc5];_0x11f44c[_0xeefb('0x86')]=_0x3929b3;_0x11f44c[_0xeefb('0xa9')]=_0x1072ea;_0x11f44c['lookAgent']=_0x55cc8e;if(_[_0xeefb('0xe8')](_0x3bdc5d)){_0x572a97[_0xeefb('0xe9')](_0x11f44c,_0x555639,_0x33fb1a,_0x55cc8e)['then'](function(_0x17e09e){logger['info'](_0xeefb('0xea'),_0xeefb('0xeb')+_0x11f44c[_0xeefb('0x44')]+_0xeefb('0xec')+_0x11f44c['idContact'],JSON[_0xeefb('0x27')](_0x17e09e));ami[_0xeefb('0x24')](_0xeefb('0xed'),ut[_0xeefb('0x7b')](_0x11f44c,'called',_0x572a97[_0xeefb('0x23')][_0x11f44c[_0xeefb('0x44')]]));_0x32a7a7(ut['message'](_0xeefb('0xee')));})[_0xeefb('0x4d')](function(_0x429080){ut[_0xeefb('0xef')](_0xeefb('0xf0'),_0x429080);_0x56d391(ut[_0xeefb('0x31')]('Call\x20failed',_0x3929b3,_0x1072ea));});}else{_0x555639[_0xeefb('0xf1')]+=0x1;ut['logBlacklist'](_0x11f44c);rpcDb[_0xeefb('0xf2')](_0x11f44c,'[Blacklist][error]');delete _0x572a97['actions'][_0x4a3dc5];_0x56d391(ut[_0xeefb('0x31')]('Contact\x20in\x20black\x20List',_0x3929b3,_0x1072ea));}});};Preview[_0xeefb('0xe')]['isTrunkReachable']=function(_0x29e980){return!_[_0xeefb('0x40')](_0x29e980)&&!_[_0xeefb('0x40')](_0x29e980[_0xeefb('0x36')])&&!_[_0xeefb('0x40')](_0x29e980[_0xeefb('0xf3')])&&_0x29e980[_0xeefb('0xf3')]&&!_[_0xeefb('0x40')](this[_0xeefb('0x13')][util[_0xeefb('0x28')](_0xeefb('0xf4'),_0x29e980[_0xeefb('0x36')])])&&!_[_0xeefb('0x40')](this[_0xeefb('0x13')][util[_0xeefb('0x28')]('SIP/%s',_0x29e980[_0xeefb('0x36')])][_0xeefb('0xf5')])&&(this['trunks'][util['format'](_0xeefb('0xf4'),_0x29e980[_0xeefb('0x36')])][_0xeefb('0xf5')]==='reachable'||this['trunks'][util[_0xeefb('0x28')]('SIP/%s',_0x29e980[_0xeefb('0x36')])][_0xeefb('0xf5')]===_0xeefb('0xf6'));};Preview[_0xeefb('0xe')][_0xeefb('0x5d')]=function(_0x138c85,_0x1d7d39){return this[_0xeefb('0xf7')](_0x138c85,_0x1d7d39)[_0xeefb('0x5e')](function(_0x4c9ac6){return _[_0xeefb('0x48')](_0x4c9ac6,[_0xeefb('0x31')]);})[_0xeefb('0x4d')](function(_0x33ec5a){if(_0x33ec5a[_0xeefb('0xf8')]){rpcDb['unlockContact'](_0x138c85);}if(_0x33ec5a[_0xeefb('0xf3')]){rpcDb[_0xeefb('0x61')](_0x138c85);}throw _['pick'](_0x33ec5a,['message']);});};Preview[_0xeefb('0xe')][_0xeefb('0xf7')]=function(_0x2eaf1e,_0x1a84af){var _0xdfadfd=this;var _0x22aaef,_0x5cb75f;return rpcDb[_0xeefb('0xf9')](_0x2eaf1e)['then'](function(_0x4594bd){if(!_[_0xeefb('0x40')](_0x4594bd[0x0])){_0x5cb75f=_0x4594bd[0x0]['recallme']?![]:!![];_0x22aaef=_0x4594bd[0x0]['recallme']?!![]:![];_0x22aaef=_0x1a84af?!![]:_0x22aaef;}var _0x419520=_0xdfadfd['validateContact'](_0x4594bd);if(_0x419520['isValid']){rpcDb[_0xeefb('0xfa')](_[_0xeefb('0x48')](_0x4594bd[0x0],['VoiceQueueId',_0xeefb('0xe7')]))[_0xeefb('0x5e')](function(_0x2902fd){_0xdfadfd[_0xeefb('0xe5')](_0x2902fd,_0x4594bd[0x0],_0x1a84af,_0x5cb75f,_0x22aaef)[_0xeefb('0x5e')](function(_0x1bdf7b){return _0x1bdf7b;})['catch'](function(_0x371717){throw _0x371717;});})[_0xeefb('0x4d')](function(_0x23761f){ut['logger'](_0xeefb('0xfb'),_0x23761f);throw ut[_0xeefb('0x31')]('Call\x20unsuccessful',_0x5cb75f,_0x22aaef);});}else{throw ut[_0xeefb('0x31')](_0x419520[_0xeefb('0x31')],_0x5cb75f,_0x22aaef);}})[_0xeefb('0x4d')](function(_0x40bc8c){ut[_0xeefb('0xef')](_0xeefb('0xfc'),_0x40bc8c);throw ut[_0xeefb('0x31')](_0xeefb('0xfd'),![],!![]);});};Preview['prototype']['validateContact']=function(_0xf58581){if(_[_0xeefb('0x40')](_0xf58581)||_[_0xeefb('0xe8')](_0xf58581)||!_['isNil'](_0xf58581[0x0][_0xeefb('0x5b')])&&_[_0xeefb('0x40')](_0xf58581[0x0][_0xeefb('0x5b')][_0xeefb('0x36')])){ut[_0xeefb('0xef')]('[Preview][validateContact][Empty\x20Contact]',_0xf58581);return{'isValid':![],'message':_0xeefb('0xfe')};}var _0x102e26=this[_0xeefb('0x23')][_0xf58581[0x0][_0xeefb('0x43')]['name']];_0x102e26['message']=utils[_0xeefb('0x35')]['ACTIVE'];if(_[_0xeefb('0x40')](_0x102e26)){ut[_0xeefb('0xef')](_0xeefb('0xff'),_0x102e26);return{'isValid':![],'message':_0xeefb('0x100')};}if(!this['isTrunkReachable'](_0x102e26[_0xeefb('0x101')])){ut['logger'](_0xeefb('0x102'),_0xeefb('0x103')+_0x102e26[_0xeefb('0x36')]+_0xeefb('0x104'));if(!this[_0xeefb('0x71')](_0x102e26['TrunkBackup'])){ut[_0xeefb('0xef')](_0xeefb('0x102'),_0x102e26[_0xeefb('0x36')]+_0xeefb('0x105'));return{'isValid':![],'message':'Trunk\x20not\x20working\x20correctly'};}}if(!ut[_0xeefb('0x70')](_0x102e26[_0xeefb('0x3c')])){ut[_0xeefb('0xef')](_0xeefb('0x106'),_0x102e26[_0xeefb('0x36')]+_0xeefb('0x107'));return{'isValid':![],'message':_0xeefb('0x103')+_0x102e26[_0xeefb('0x36')]+_0xeefb('0x107')};}return{'isValid':!![],'message':'Is\x20Valid'};};Preview[_0xeefb('0xe')]['execCall']=function(_0xb4558a,_0x3cab53,_0x4b75f0,_0x53d0a8){var _0x5ef841=this;return new Promise(function(_0x40d1d6,_0x45c78c){var _0x1f3245=_0xb4558a[_0xeefb('0x8d')];var _0x1ce7f3=_0x5ef841[_0xeefb('0x71')](_0x3cab53[_0xeefb('0x101')])?util[_0xeefb('0x28')](_0xeefb('0x108'),_0x3cab53[_0xeefb('0x101')][_0xeefb('0x36')],_[_0xeefb('0x40')](_0x3cab53['dialPrefix'])?'':_0x3cab53[_0xeefb('0x109')]['trim']()||'',_0x3cab53[_0xeefb('0x10a')]>0x0?_0x4b75f0['phone']['substring'](_0x3cab53[_0xeefb('0x10a')]):_0x4b75f0[_0xeefb('0xe7')]):util[_0xeefb('0x28')]('SIP/%s/%s%s',_['isNil'](_0x3cab53[_0xeefb('0x72')])?_0x3cab53[_0xeefb('0x101')]['name']:_0x3cab53[_0xeefb('0x72')][_0xeefb('0x36')],_['isNil'](_0x3cab53[_0xeefb('0x109')])?'':_0x3cab53['dialPrefix'][_0xeefb('0x10b')]()||'',_0x3cab53[_0xeefb('0x10a')]>0x0?_0x4b75f0[_0xeefb('0xe7')][_0xeefb('0x10c')](_0x3cab53[_0xeefb('0x10a')]):_0x4b75f0[_0xeefb('0xe7')]);var _0x5b885f=_0x5ef841[_0xeefb('0x71')](_0x3cab53[_0xeefb('0x101')])?ut['getCallerId'](_0x3cab53['Trunk'][_0xeefb('0x10d')],_0x3cab53['dialOriginateCallerIdName'],_0x3cab53[_0xeefb('0x10e')]>0x0?ut['getCallerIdRandom'](_0x3cab53['dialOriginateCallerIdNumber'],_0x3cab53[_0xeefb('0x10e')]):_0x3cab53[_0xeefb('0x10f')]):ut[_0xeefb('0x110')](_[_0xeefb('0x40')](_0x3cab53[_0xeefb('0x72')])?_0x3cab53[_0xeefb('0x101')][_0xeefb('0x10d')]:_0x3cab53[_0xeefb('0x72')][_0xeefb('0x10d')],_0x3cab53[_0xeefb('0x111')],_0x3cab53[_0xeefb('0x10e')]>0x0?ut[_0xeefb('0x112')](_0x3cab53[_0xeefb('0x10f')],_0x3cab53[_0xeefb('0x10e')]):_0x3cab53[_0xeefb('0x10f')]);if(_0x5b885f){_0xb4558a['originatecalleridname']=ut[_0xeefb('0x113')](_0x5b885f);_0xb4558a['originatecalleridnum']=ut[_0xeefb('0x114')](_0x5b885f);}var _0x4ac9c9=ut['addVariables'](_0x3cab53,_0x4b75f0,_0x1ce7f3,_0x5b885f,_0x1f3245,_0xb4558a);var _0x28cbd4=utils[_0xeefb('0x115')](_0x4b75f0['Contact']);Object['assign'](_0x4ac9c9,_0x28cbd4);_[_0xeefb('0x116')](_0xb4558a,ut[_0xeefb('0x117')](_0x4ac9c9));_0xb4558a['starttime']=moment()['format'](_0xeefb('0x63'));_0x3cab53[_0xeefb('0x118')]=_0x4ac9c9;var _0x4e1723=ut[_0xeefb('0x119')](_0xb4558a,_0x3cab53,_0x4ac9c9,_0xb4558a[_0xeefb('0xa9')],_0x53d0a8);return ami[_0xeefb('0x4b')](_0x4e1723)['then'](function(_0x5c9a95){_0x3cab53[_0xeefb('0x2d')]+=0x1;logger['info'](_0xeefb('0x11a'),_0x1f3245,'\x20Queue',_0x3cab53['name'],_0xeefb('0x45'),_0x3cab53[_0xeefb('0x2d')]);_0x40d1d6(_0x5c9a95);})[_0xeefb('0x4d')](function(_0x3b5ce4){ut['logAgent'](_0xb4558a,0xe,_0xeefb('0x11b'));rpcDb['createAgentHistory'](_0xb4558a,_0xeefb('0x11c'));_0x45c78c(_0x3b5ce4);});});};Preview[_0xeefb('0xe')][_0xeefb('0x1c')]=function(_0xda0270){if(this[_0xeefb('0x41')][_0xda0270[_0xeefb('0x87')]]){this['actions'][_0xda0270[_0xeefb('0x87')]][_0xeefb('0x4c')]=_0xda0270[_0xeefb('0x4c')];}};Preview[_0xeefb('0xe')][_0xeefb('0x16')]=function(_0x7e7926){var _0x39766a=this;var _0x26615b=this['actions'][_0x7e7926[_0xeefb('0x11d')]];if(_0x26615b){if(_0x26615b[_0xeefb('0x11e')]&&this['agents'][_0x26615b[_0xeefb('0x11e')]]){ut[_0xeefb('0x11f')](_0x26615b,this[_0xeefb('0x14')][_0x26615b[_0xeefb('0x11e')]]['name'],this[_0xeefb('0x14')][_0x26615b['lookAgent']]['id']);}var _0x8f71ef=_['clone'](_0x26615b);_0x8f71ef[_0xeefb('0x120')]=moment()['format'](_0xeefb('0x63'));var _0x32f21b=_0x39766a['campaignsPreview'][_0x26615b[_0xeefb('0x44')]];if(ut[_0xeefb('0x121')](_0x7e7926['response'])){if(_0x26615b[_0xeefb('0x86')]){rpcDb['unlockContact'](_0x26615b['idContact']);}if(_0x26615b[_0xeefb('0xa9')]){rpcDb['disableContact'](_0x26615b[_0xeefb('0xaa')]);}ami[_0xeefb('0x24')](_0xeefb('0x122'),ut[_0xeefb('0x7b')](_0x26615b,_0xeefb('0x123'),this['campaignsPreview'][_0x26615b['queue']]));this[_0xeefb('0x124')](_0x8f71ef,_0x32f21b,_0x7e7926);}else{_0x26615b[_0xeefb('0x62')]=moment()[_0xeefb('0x28')]('YYYY-MM-DD\x20HH:mm:ss');ut['logAgent'](_0x8f71ef,0x4,_0xeefb('0x125'));rpcDb[_0xeefb('0xdc')](_0x8f71ef,'[callProgressDetectingAgent][logAnswer]');}}};Preview['prototype'][_0xeefb('0x126')]=function(_0x1c6df2){var _0x1c3462=this[_0xeefb('0x41')][_0x1c6df2[_0xeefb('0x87')]];var _0x4d4fe6;if(_0x1c3462){_0x4d4fe6=this[_0xeefb('0x23')][_0x1c3462['queue']];logger[_0xeefb('0x25')](_0xeefb('0x127'),_0x1c6df2[_0xeefb('0x87')],_0xeefb('0x8e'),_0x4d4fe6[_0xeefb('0x36')],_0xeefb('0x46'),_0x4d4fe6[_0xeefb('0x2e')]);}if(this[_0xeefb('0x41')][_0x1c6df2[_0xeefb('0x87')]]&&_0x1c6df2[_0xeefb('0x87')]!==_0x1c6df2[_0xeefb('0x8d')]){if(_0x1c6df2[_0xeefb('0x128')]==='16'&&this[_0xeefb('0x41')][_0x1c6df2[_0xeefb('0x87')]][_0xeefb('0x47')]){this[_0xeefb('0x75')](_0x1c6df2,_0x1c6df2['linkedid'],_0x1c6df2[_0xeefb('0x128')]);}else if(this[_0xeefb('0x41')][_0x1c6df2['linkedid']]['dialAnswer']){logger['info'](_0xeefb('0x129'),_0x1c6df2[_0xeefb('0x87')],_0x1c6df2[_0xeefb('0x128')],_0xeefb('0x8e'),_0x4d4fe6[_0xeefb('0x36')],_0xeefb('0x46'),_0x4d4fe6[_0xeefb('0x2e')]);this[_0xeefb('0x75')](_0x1c6df2,_0x1c6df2[_0xeefb('0x87')],_0x1c6df2[_0xeefb('0x128')]);}}else if(_0x1c3462&&_['isNil'](_0x1c3462[_0xeefb('0x12a')])&&_0x4d4fe6['dialQueueProject']&&_0x1c6df2[_0xeefb('0x87')]===_0x1c6df2[_0xeefb('0x8d')]&&_[_0xeefb('0x40')](_0x1c6df2[_0xeefb('0xd9')])&&_0x1c6df2[_0xeefb('0x128')]==='16'&&_0x1c6df2[_0xeefb('0x12b')]==='6'&&_[_0xeefb('0xd7')](_0x1c3462[_0xeefb('0x12c')])){if(_0x1c3462[_0xeefb('0x86')]){rpcDb['unlockContact'](_0x1c3462[_0xeefb('0xaa')]);}if(_0x1c3462['activeContact']){rpcDb['disableContact'](_0x1c3462['idContact']);}_0x1c6df2[_0xeefb('0xd9')]='22';this[_0xeefb('0x124')](_0x1c3462,_0x4d4fe6,_0x1c6df2);}else if(_0x1c3462&&_0x1c3462[_0xeefb('0x12c')]){if(_0x1c6df2[_0xeefb('0x128')]==='16'&&this[_0xeefb('0x41')][_0x1c6df2[_0xeefb('0x87')]][_0xeefb('0x47')]){logger[_0xeefb('0x25')](_0xeefb('0x12d'),_0x1c6df2[_0xeefb('0x87')],_0x1c6df2[_0xeefb('0x128')],'\x20Queue',_0x4d4fe6[_0xeefb('0x36')],_0xeefb('0x46'),_0x4d4fe6[_0xeefb('0x2e')]);this[_0xeefb('0x75')](_0x1c6df2,_0x1c6df2['linkedid'],_0x1c6df2[_0xeefb('0x128')]);}else if(this[_0xeefb('0x41')][_0x1c6df2['linkedid']][_0xeefb('0x47')]){logger[_0xeefb('0x25')]('[syncHangup][talking][cause]',_0x1c6df2[_0xeefb('0x87')],_0x1c6df2['cause'],_0xeefb('0x8e'),_0x4d4fe6[_0xeefb('0x36')],'pTalking:\x20',_0x4d4fe6['pTalking']);this['callProgressDetectingCustomer'](_0x1c6df2,_0x1c6df2[_0xeefb('0x87')],_0x1c6df2[_0xeefb('0x128')]);}}};Preview[_0xeefb('0xe')][_0xeefb('0x12e')]=function(_0x1ef64b){if(this[_0xeefb('0x41')][_0x1ef64b['destlinkedid']]&&_0x1ef64b['destlinkedid']!==_0x1ef64b['destuniqueid']){this[_0xeefb('0x75')](_0x1ef64b,_0x1ef64b[_0xeefb('0xd6')],_0x1ef64b['dialstatus']);}};Preview[_0xeefb('0xe')][_0xeefb('0x19')]=function(_0x4b19b5){if(this[_0xeefb('0x41')][_0x4b19b5['linkedid']]&&_0x4b19b5['linkedid']!==_0x4b19b5['uniqueid']&&!this[_0xeefb('0x41')][_0x4b19b5['linkedid']][_0xeefb('0x47')]){if(_0x4b19b5[_0xeefb('0x128')]==='1'){this[_0xeefb('0x75')](_0x4b19b5,_0x4b19b5['linkedid'],_0x4b19b5[_0xeefb('0x128')]);}}};Preview['prototype'][_0xeefb('0x12f')]=function(_0x26d75f,_0x420243,_0x46d163){if(this[_0xeefb('0x41')][_0x26d75f]){if(_[_0xeefb('0x40')](this[_0xeefb('0x41')][_0x26d75f][_0xeefb('0x118')])){this[_0xeefb('0x41')][_0x26d75f][_0xeefb('0x118')]={};}this[_0xeefb('0x41')][_0x26d75f][_0xeefb('0x118')][_0x420243]=_0x46d163;}};Preview['prototype']['syncVarSet']=function(_0x5d7c77){try{if(!_['isNil'](_0x5d7c77)){if(ut[_0xeefb('0x130')](_[_0xeefb('0x131')](_0x5d7c77[_0xeefb('0x132')])[0x0])){this['addVariable'](_0x5d7c77[_0xeefb('0x8d')],_['keys'](_0x5d7c77[_0xeefb('0x132')])[0x0],_0x5d7c77[_0xeefb('0x133')]);}}}catch(_0xb34085){logger['error'](_0xeefb('0x134'),util[_0xeefb('0x135')](_0xb34085,{'showHidden':![],'depth':null}));}};Preview[_0xeefb('0xe')][_0xeefb('0x136')]=function(_0x50adbb){if(_0x50adbb){if(this[_0xeefb('0x41')][_0x50adbb[_0xeefb('0x137')]]){this[_0xeefb('0x41')][_0x50adbb[_0xeefb('0x137')]][_0xeefb('0x12c')]=!![];}}};Preview[_0xeefb('0xe')][_0xeefb('0x21')]=function(_0x1373c1){if(_0x1373c1){if(this[_0xeefb('0x41')][_0x1373c1[_0xeefb('0x138')]]){this[_0xeefb('0x41')][_0x1373c1['transfererlinkedid']][_0xeefb('0x12c')]=!![];}}};module[_0xeefb('0x139')]=Preview;