Built motion from commit 85328c08.|2.5.50
[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 _0xee14=['syncHangup','syncHangupRequest','dialend','syncDialEnd','newexten','syncNewExten','varset','syncVarSet','syncAttendedTransfer','blindtransfer','syncBlindTransfer','loopCampaigns','emit','type','outbound','name','strategy','loggedIn','pTalking','sumBillable','sumDuration','sumHoldTime','talking','unmanaged','abandoned','loggedInDb','dialActive','dialMethod','dialOriginateCallerIdName','dialOriginateCallerIdNumber','dialOriginateTimeout','dialPrefix','outboundAnswerCallsDay','outboundBusyCallsDay','outboundDropCallsDayACS','outboundDropCallsDayCallersExit','outboundDropCallsDayTimeout','outboundNoAnswerCallsDay','outboundNoSuchCallsDay','outboundReCallsDay','outboundUnknownCallsDay','outboundAbandonedCallsDay','predictiveIntervalAnsweredCalls','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','predictiveIntervalDroppedCallsTimeout','predictiveIntervalErlangCalls','predictiveIntervalErlangCallsDroppedCalls','predictiveIntervalHitRate','predictiveIntervalMultiplicativeFactor','predictiveIntervalPauses','message','originated','erlangCalls','erlangAbandonmentRate','erlangBusyFactor','startPredictive','startProgressive','Trunk','active','callerid','Interval','stringify','format','voice_queue:save','info','[DEBUG]\x20Emit\x20voice_queue_channel:remove\x20event','voice:queue:%s','voice_queue_channel:remove','voice_queue_presence:remove','sendMessageOneNotActive','available','paused','NOT_ACTIVE','logger','[CampaignPreview]\x20Campaign\x20Queue:\x20','\x20is\x20not\x20active','IS_DISACTIVED','\x20is\x20disactive','hasOwnProperty','booked','clearZombieChannels','setMessage','dialPreviewAutoRecallMe','recallMe','enqueue','isNil','actions','[clearZombieChannels][talking]','Queue','queue','originated:\x20','pTalking:\x20','dialAnswer','pick','contactId','VoiceQueueId','Action','catch','updateOriginated','[clearZombieChannel]','loggerError','[Dialer][checkChannel][pTalking][Preview]','[Dialer][checkChannel][Preview]','[action]','getContactRecallMe','agentReadyId','then','getDiff','scheduledat','Agent','voicePause','[RecallMe]','disableContact','starttime','logCustomer','RecallInQueue','rescheduleContactInQueue','createBody','createCustomerHistory','[HistoryDialRecallInQueue][historyCatch]','RecallFailedTimeout','[HistoryRecallClose]','createCustomerFinal','logger2','IsNotLoggedIn','AGENTS_NOT_LOGGED','isActive','isTrunkReachable','TrunkBackup','TRUNK_IS_NOT_REACHABLE','ACTIVE','callProgressDetectingCustomer','countglobal','totalGlobal','custom:agentnosuchnumber','buildObj','nosuchnumber','[callProgressDetectingCustomer][logNoSuch]','cloneAction','Global','[callProgressDetectingCustomer][logNoSuchGlobal]','countnosuchnumberretry','rescheduleContact','scheduledAt','unlockAgent','activeContact','linkedid','YYYY-MM-DD\x20HH:mm:ss','responsetime','answertime','[syncHangup][talking][increment]','custom:agentconnect','connect','acw','buildAcw','custom:agentcomplete','complete','total','answered','decrementTalkink','[16]','Answer','crateCustomerReportQueue','talktime','[syncHangup][talking][decrement]','uniqueid','\x20Queue','countbusyretry','Busy','custom:agentbusy','busy','[callProgressDetectingCustomer][logBusy]','[callProgressDetectingCustomer][logBusyGlobal]','dialBusyMaxRetry','NOANSWER','countnoanswerretry','NoAnswer','custom:agentnoanswer','noanswer','[callProgressDetectingCustomer][logNoAnswer]','[callProgressDetectingCustomer][logNoAnswerGlobal]','CONGESTION','outboundCongestionCallsDay','Congestion','custom:agentcongestion','congestion','[callProgressDetectingCustomer][logCongestion]','[callProgressDetectingCustomer][logCongestionGlobal]','countcongestionretry','dialCongestionMaxRetry','dialBusyRetryFrequency','CANCEL','outboundRejectCallsDay','countagentrejectretry','AgentReject','custom:agentreject','dialGlobalMaxRetry','[callProgressDetectingCustomer][logAgentReject]','Abandoned','[callProgressDetectingCustomer][logAbandoned]','countabandonedetry','countabandonedretry','dialAbandonedRetryFrequency','countmachineretry','dialstatus','custom:amd','amd','[callProgressDetectingCustomer][hangupInAMD]','cause-txt','[callProgressDetectingCustomer][machine]','[default]','[Dialer][decrementTalkink][no\x20Hangup][Preview]','[callProgressDetectingCustomer][logUnknown]','[callProgressDetectingCustomer][logUnknownGlobal]','destlinkedid','callProgressDetectingAgent','isUndefined','reason','NoSuchNumber','createAgentHistory','[callProgressDetectingAgent][logNoSuch]','logAgent','[callProgressDetectingAgent][logNoAnswer]','[callProgressDetectingAgent][logBusy]','AnswerAGI','[callProgressDetectingAgent][logAnswerAGI]','[callProgressDetectingAgent][logCongestion]','[callProgressDetectingAgent]','[originated][decrement][callProgressDetectingAgent]','checkInBlack','Contact','phone','Contact\x20is\x20undefined','lookAgent','isEmpty','execCall','[Preview][execCall][success]','\x20IdHopper:\x20','custom:agentcalled','called','Calling','[Preview][execCall][failure]','Call\x20failed','outboundBlacklistCallsDay','logBlacklist','createHistory','[Blacklist][error]','Contact\x20in\x20black\x20List','SIP/%s','status','reachable','unmonitored','run','execRun','unlockContact','getContactPreview','recallme','isValid','checkIsBlackList','Contact.phone','[Preview][checkIsBlackList]','Call\x20unsuccessful','[Preview][getContactPreview]','[Preview][validateContact][Empty\x20Campaign]','Empty\x20Campaign','[Preview][validateContact][Trunk\x20not\x20work]','campaign\x20Name:\x20','\x20Trunk\x20is\x20not\x20active','\x20Trunk\x20Backup\x20is\x20not\x20active','Trunk\x20not\x20work','[Preview][validateContact][Campaign\x20Active]','\x20Not\x20Active','Is\x20Valid','SIP/%s/%s%s','dialCutDigit','substring','trim','getCallerId','dialRandomLastDigitCallerIdNumber','getCallerIdRandom','originatecalleridname','extractCalleridName','extractCalleridNumber','addVariables','merge','toLowerVariables','variablesAction','[originated][increment]','OriginateError','channel','clone','isFailure','idContact','custom:agentringnoanswer','rejected','[callProgressDetectingAgent][logAnswer]','[syncHangup][talking]','cause','[syncHangup][talking][cause]','statedesc','dialQueueProject','channelstate','transfer','destuniqueid','addVariable','variables','filterKey','keys','variable','error','inspect','transfertargetlinkedid','transfererlinkedid','bluebird','uuid','moment','md5','ioredis','../../../config/environment','../../../config/logger','preview','../ami','./action','./util/util','redis','defaults','localhost','prototype','tail','sequence','campaignsPreview','voiceQueues','trunks','agents','clockClearZombieChannels','originateresponse','syncOriginateResponse','bind','hangup'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xee14,0x13a));var _0x4ee1=function(_0x3d54f3,_0x411a0a){_0x3d54f3=_0x3d54f3-0x0;var _0x44640f=_0xee14[_0x3d54f3];return _0x44640f;};'use strict';var util=require('util');var _=require('lodash');var BPromise=require(_0x4ee1('0x0'));var uuid=require(_0x4ee1('0x1'));var moment=require(_0x4ee1('0x2'));var md5=require(_0x4ee1('0x3'));var Redis=require(_0x4ee1('0x4'));var config=require(_0x4ee1('0x5'));var logger=require(_0x4ee1('0x6'))(_0x4ee1('0x7'));var loggerAction=require(_0x4ee1('0x6'))('actionPreview');var ami=require(_0x4ee1('0x8'));var rpcDb=require('./rpcDb');var Action=require(_0x4ee1('0x9'));var ut=require(_0x4ee1('0xa'));config[_0x4ee1('0xb')]=_[_0x4ee1('0xc')](config[_0x4ee1('0xb')],{'host':_0x4ee1('0xd'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0x4ee1('0xb')]));var Sequence=function(){};Sequence[_0x4ee1('0xe')]['enqueue']=function(_0x3fa61b){this[_0x4ee1('0xf')]=this[_0x4ee1('0xf')]?this[_0x4ee1('0xf')]['finally'](_0x3fa61b):_0x3fa61b();};function Preview(_0x1b3737){this[_0x4ee1('0x10')]=new Sequence();this[_0x4ee1('0x11')]=_0x1b3737[_0x4ee1('0x12')];this[_0x4ee1('0x13')]=_0x1b3737[_0x4ee1('0x13')];this['actions']={};this[_0x4ee1('0x14')]=_0x1b3737[_0x4ee1('0x14')];this[_0x4ee1('0x15')]=0x0;ami['on'](_0x4ee1('0x16'),this[_0x4ee1('0x17')][_0x4ee1('0x18')](this));ami['on'](_0x4ee1('0x19'),this[_0x4ee1('0x1a')][_0x4ee1('0x18')](this));ami['on']('hanguprequest',this[_0x4ee1('0x1b')][_0x4ee1('0x18')](this));ami['on'](_0x4ee1('0x1c'),this[_0x4ee1('0x1d')][_0x4ee1('0x18')](this));ami['on'](_0x4ee1('0x1e'),this[_0x4ee1('0x1f')][_0x4ee1('0x18')](this));ami['on'](_0x4ee1('0x20'),this[_0x4ee1('0x21')][_0x4ee1('0x18')](this));ami['on']('attendedtransfer',this[_0x4ee1('0x22')][_0x4ee1('0x18')](this));ami['on'](_0x4ee1('0x23'),this[_0x4ee1('0x24')][_0x4ee1('0x18')](this));this[_0x4ee1('0x25')](this['campaignsPreview']);}function emit(_0x8a631f,_0x333e96,_0x46611a){io['to'](_0x8a631f)[_0x4ee1('0x26')](_0x333e96,_0x46611a);}function emitCampaignPreview(_0x160a26){if(_0x160a26[_0x4ee1('0x27')]===_0x4ee1('0x28')){var _0x40fd98={'id':_0x160a26['id'],'name':_0x160a26[_0x4ee1('0x29')],'strategy':_0x160a26[_0x4ee1('0x2a')],'answered':_0x160a26['answered'],'available':_0x160a26['available'],'loggedIn':_0x160a26[_0x4ee1('0x2b')],'pTalking':_0x160a26[_0x4ee1('0x2c')],'sumBillable':_0x160a26[_0x4ee1('0x2d')],'sumDuration':_0x160a26[_0x4ee1('0x2e')],'sumHoldTime':_0x160a26[_0x4ee1('0x2f')]||0x0,'talking':_0x160a26[_0x4ee1('0x30')],'total':_0x160a26['total'],'type':_0x160a26['type'],'unmanaged':_0x160a26[_0x4ee1('0x31')],'abandoned':_0x160a26[_0x4ee1('0x32')],'waiting':_0x160a26['waiting'],'loggedInDb':_0x160a26[_0x4ee1('0x33')],'dialActive':_0x160a26[_0x4ee1('0x34')],'dialMethod':_0x160a26[_0x4ee1('0x35')],'dialOriginateCallerIdName':_0x160a26[_0x4ee1('0x36')],'dialOriginateCallerIdNumber':_0x160a26[_0x4ee1('0x37')],'dialOriginateTimeout':_0x160a26[_0x4ee1('0x38')],'dialPrefix':_0x160a26[_0x4ee1('0x39')],'outboundAnswerAgiCallsDay':_0x160a26['outboundAnswerAgiCallsDay'],'outboundAnswerCallsDay':_0x160a26[_0x4ee1('0x3a')],'outboundBlacklistCallsDay':_0x160a26['outboundBlacklistCallsDay'],'outboundBusyCallsDay':_0x160a26[_0x4ee1('0x3b')],'outboundCongestionCallsDay':_0x160a26['outboundCongestionCallsDay'],'outboundDropCallsDayACS':_0x160a26[_0x4ee1('0x3c')],'outboundDropCallsDayCallersExit':_0x160a26[_0x4ee1('0x3d')],'outboundDropCallsDayTimeout':_0x160a26[_0x4ee1('0x3e')],'outboundNoAnswerCallsDay':_0x160a26[_0x4ee1('0x3f')],'outboundNoSuchCallsDay':_0x160a26[_0x4ee1('0x40')],'outboundOriginateFailureCallsDay':_0x160a26['outboundOriginateFailureCallsDay'],'outboundReCallsDay':_0x160a26[_0x4ee1('0x41')],'outboundRejectCallsDay':_0x160a26['outboundRejectCallsDay'],'outboundUnknownCallsDay':_0x160a26[_0x4ee1('0x42')],'outboundAbandonedCallsDay':_0x160a26[_0x4ee1('0x43')],'predictiveIntervalAnsweredCalls':_0x160a26[_0x4ee1('0x44')],'predictiveIntervalAvgHoldtime':_0x160a26[_0x4ee1('0x45')],'predictiveIntervalAvgTalktime':_0x160a26[_0x4ee1('0x46')],'predictiveIntervalDroppedCallsCallersExit':_0x160a26['predictiveIntervalDroppedCallsCallersExit'],'predictiveIntervalDroppedCallsTimeout':_0x160a26[_0x4ee1('0x47')],'predictiveIntervalErlangCalls':_0x160a26[_0x4ee1('0x48')],'predictiveIntervalErlangCallsDroppedCalls':_0x160a26[_0x4ee1('0x49')],'predictiveIntervalHitRate':_0x160a26[_0x4ee1('0x4a')],'predictiveIntervalMultiplicativeFactor':_0x160a26[_0x4ee1('0x4b')],'predictiveIntervalPauses':_0x160a26[_0x4ee1('0x4c')],'predictiveIntervalAvailable':_0x160a26['predictiveIntervalAvailable'],'predictiveIntervalTotalCalls':_0x160a26['predictiveIntervalTotalCalls'],'message':_0x160a26[_0x4ee1('0x4d')],'originated':_0x160a26[_0x4ee1('0x4e')],'erlangCalls':_0x160a26[_0x4ee1('0x4f')],'erlangCallToSecond':_0x160a26['erlangCallToSecond'],'erlangAbandonmentRate':_0x160a26[_0x4ee1('0x50')],'erlangBusyFactor':_0x160a26[_0x4ee1('0x51')],'startPredictive':_0x160a26[_0x4ee1('0x52')],'startProgressive':_0x160a26[_0x4ee1('0x53')]};if(_0x160a26[_0x4ee1('0x54')]){_0x40fd98[_0x4ee1('0x54')]={'id':_0x160a26[_0x4ee1('0x54')]['id'],'name':_0x160a26[_0x4ee1('0x54')][_0x4ee1('0x29')],'active':_0x160a26[_0x4ee1('0x54')][_0x4ee1('0x55')],'callerid':_0x160a26[_0x4ee1('0x54')][_0x4ee1('0x56')]};}if(_0x160a26['Interval']){_0x40fd98[_0x4ee1('0x57')]={'id':_0x160a26[_0x4ee1('0x57')]['id'],'name':_0x160a26[_0x4ee1('0x57')]['name']};}var _0x4858f9=md5(JSON[_0x4ee1('0x58')](_0x40fd98));if(_0x160a26[_0x4ee1('0x3')]!==_0x4858f9){_0x160a26[_0x4ee1('0x3')]=_0x4858f9;emit(util[_0x4ee1('0x59')]('voice:queue:%s',_0x40fd98[_0x4ee1('0x29')]),_0x4ee1('0x5a'),_0x40fd98);}}}function emitVoiceQueueChannelRemove(_0x11721a){logger[_0x4ee1('0x5b')](_0x4ee1('0x5c'),JSON[_0x4ee1('0x58')](_0x11721a));emit(util[_0x4ee1('0x59')](_0x4ee1('0x5d'),_0x11721a['name']),_0x4ee1('0x5e'),_0x11721a);io[_0x4ee1('0x26')](_0x4ee1('0x5f'),_0x11721a);}function notSendMessagesQueue(_0x2950a9){if(_0x2950a9[_0x4ee1('0x60')]){if(_0x2950a9[_0x4ee1('0x4e')]===0x0&&_0x2950a9['pTalking']===0x0){_0x2950a9[_0x4ee1('0x60')]=![];_0x2950a9[_0x4ee1('0x61')]=0x0;_0x2950a9[_0x4ee1('0x62')]=0x0;_0x2950a9[_0x4ee1('0x4d')]=_0x4ee1('0x63');ut[_0x4ee1('0x64')](_0x4ee1('0x65'),_0x2950a9[_0x4ee1('0x29')]+_0x4ee1('0x66'));}else{_0x2950a9[_0x4ee1('0x4d')]=_0x4ee1('0x67');ut[_0x4ee1('0x64')](_0x4ee1('0x65'),_0x2950a9['name']+_0x4ee1('0x68'));}emitCampaignPreview(_0x2950a9);}}Preview[_0x4ee1('0xe')]['loopCampaigns']=function(){var _0x3c759f=this;setInterval(function(){_0x3c759f['syncCampaigns']();},0x7cf);};Preview[_0x4ee1('0xe')]['syncCampaigns']=function(){var _0x14c333=this[_0x4ee1('0x11')];this['clockClearZombieChannels']+=0x1;for(var _0x25d683 in _0x14c333){if(_0x14c333[_0x4ee1('0x69')](_0x25d683)&&(_0x14c333[_0x25d683][_0x4ee1('0x35')]===_0x4ee1('0x7')||_0x14c333[_0x25d683]['dialMethod']===_0x4ee1('0x6a'))&&_0x14c333[_0x25d683][_0x4ee1('0x27')]===_0x4ee1('0x28')){if(this['clockClearZombieChannels']>0x7){this['clockClearZombieChannels']=0x0;this[_0x4ee1('0x6b')]();}}if(_0x14c333[_0x4ee1('0x69')](_0x25d683)&&_0x14c333[_0x25d683][_0x4ee1('0x35')]===_0x4ee1('0x7')&&_0x14c333[_0x25d683][_0x4ee1('0x27')]==='outbound'){if(_0x14c333[_0x25d683]['dialActive']){this[_0x4ee1('0x6c')](_0x14c333[_0x25d683]);if(_0x14c333[_0x25d683][_0x4ee1('0x6d')])this[_0x4ee1('0x6e')](_0x14c333[_0x25d683]);}else{notSendMessagesQueue(_0x14c333[_0x25d683]);}}}};Preview[_0x4ee1('0xe')]['clearZombieChannel']=function(_0x3d6bf4){var _0x32cc34=this;this['sequence'][_0x4ee1('0x6f')](function(){if(!_[_0x4ee1('0x70')](_0x32cc34[_0x4ee1('0x71')][_0x3d6bf4])){loggerAction[_0x4ee1('0x5b')](_0x4ee1('0x72'),_0x3d6bf4,_0x4ee1('0x73'),_0x32cc34[_0x4ee1('0x71')][_0x3d6bf4][_0x4ee1('0x74')],_0x4ee1('0x75'),JSON['stringify'](_0x32cc34['campaignsPreview'][_0x32cc34[_0x4ee1('0x71')][_0x3d6bf4][_0x4ee1('0x74')]][_0x4ee1('0x4e')]),_0x4ee1('0x76'),JSON['stringify'](_0x32cc34[_0x4ee1('0x11')][_0x32cc34[_0x4ee1('0x71')][_0x3d6bf4][_0x4ee1('0x74')]][_0x4ee1('0x2c')]),JSON[_0x4ee1('0x58')](_0x32cc34['actions'][_0x3d6bf4][_0x4ee1('0x77')]),JSON[_0x4ee1('0x58')](_[_0x4ee1('0x78')](_0x32cc34['actions'][_0x3d6bf4],[_0x4ee1('0x79'),'UserId',_0x4ee1('0x7a'),'ListId'])));return ami[_0x4ee1('0x7b')]({'action':'status','channel':_0x32cc34[_0x4ee1('0x71')][_0x3d6bf4]['channel']})[_0x4ee1('0x7c')](function(_0x12e0f1){if(_0x12e0f1[_0x4ee1('0x4d')]==='No\x20such\x20channel'){setTimeout(function(){if(_0x32cc34[_0x4ee1('0x71')][_0x3d6bf4]){ut[_0x4ee1('0x7d')](_0x32cc34[_0x4ee1('0x11')][_0x32cc34[_0x4ee1('0x71')][_0x3d6bf4][_0x4ee1('0x74')]],_0x4ee1('0x7e'));if(_0x32cc34[_0x4ee1('0x71')][_0x3d6bf4]['dialAnswer']===!![]){ut['decrementTalkink'](_0x32cc34[_0x4ee1('0x11')][_0x32cc34[_0x4ee1('0x71')][_0x3d6bf4][_0x4ee1('0x74')]],_0x4ee1('0x7e'));ut[_0x4ee1('0x7f')](_0x4ee1('0x80')+_0x3d6bf4,_0x32cc34[_0x4ee1('0x71')][_0x3d6bf4][_0x4ee1('0x74')]);}ut[_0x4ee1('0x7f')](_0x4ee1('0x81')+_0x3d6bf4,_0x32cc34[_0x4ee1('0x71')][_0x3d6bf4][_0x4ee1('0x74')]);delete _0x32cc34[_0x4ee1('0x71')][_0x3d6bf4];}},0x2328);}});}});};Preview['prototype'][_0x4ee1('0x6b')]=function(){var _0x547c6c=this;loggerAction[_0x4ee1('0x5b')](_0x4ee1('0x82'),_['size'](this[_0x4ee1('0x71')]));for(var _0x184e36 in this['actions']){if(_0x547c6c['actions'][_0x4ee1('0x69')](_0x184e36)){_0x547c6c['clearZombieChannel'](_0x184e36);}}};Preview[_0x4ee1('0xe')][_0x4ee1('0x6e')]=function(_0x59ba70){var _0x43489c=this;rpcDb[_0x4ee1('0x83')](_0x59ba70['id'],ut[_0x4ee1('0x84')](this[_0x4ee1('0x14')]))[_0x4ee1('0x85')](function(_0x433b9c){if(!_[_0x4ee1('0x70')](_0x433b9c)){for(var _0x5f5694=0x0;_0x5f5694<_0x433b9c['length'];_0x5f5694+=0x1){if(ut[_0x4ee1('0x86')](_0x433b9c[_0x5f5694][_0x4ee1('0x87')])<_0x59ba70['dialRecallMeTimeout']*0x3c){if(_0x433b9c[_0x5f5694][_0x4ee1('0x88')]&&!_0x433b9c[_0x5f5694][_0x4ee1('0x88')][_0x4ee1('0x89')]){_0x43489c['run'](_0x433b9c[_0x5f5694]['id'])[_0x4ee1('0x85')](ut['logger2'](_0x4ee1('0x8a')))['catch'](ut['logger2'](_0x4ee1('0x8a')));}else{rpcDb[_0x4ee1('0x8b')](_0x433b9c[_0x5f5694]['id']);}}else{var _0x290451=new Action(_0x433b9c[_0x5f5694],_0x59ba70);_0x290451[_0x4ee1('0x8c')]=moment()[_0x4ee1('0x59')]('YYYY-MM-DD\x20HH:mm:ss');_0x59ba70[_0x4ee1('0x41')]+=0x1;ut[_0x4ee1('0x8d')](_0x290451,0x17,_0x4ee1('0x8e'));if(_0x59ba70['dialRecallInQueue']){rpcDb[_0x4ee1('0x8f')](ut[_0x4ee1('0x90')](_0x433b9c[_0x5f5694]));rpcDb[_0x4ee1('0x91')](_0x290451,_0x4ee1('0x92'));}else{ut[_0x4ee1('0x8d')](_0x290451,0x16,_0x4ee1('0x93'));rpcDb[_0x4ee1('0x91')](_0x290451,_0x4ee1('0x94'));rpcDb[_0x4ee1('0x95')](_0x290451,_0x4ee1('0x94'));}}}}})[_0x4ee1('0x7c')](ut[_0x4ee1('0x96')]('[getContactRecallMe]'));};Preview[_0x4ee1('0xe')]['setMessage']=function(_0x25cfc3){_0x25cfc3['sendMessageOneNotActive']=!![];if(ut[_0x4ee1('0x97')](_0x25cfc3[_0x4ee1('0x2b')])){_0x25cfc3[_0x4ee1('0x4d')]=_0x4ee1('0x98');}else if(!ut[_0x4ee1('0x99')](_0x25cfc3[_0x4ee1('0x34')])){_0x25cfc3[_0x4ee1('0x4d')]=_0x4ee1('0x63');}else if(!this[_0x4ee1('0x9a')](_0x25cfc3[_0x4ee1('0x54')])){if(!this[_0x4ee1('0x9a')](_0x25cfc3[_0x4ee1('0x9b')])){_0x25cfc3['message']=_0x4ee1('0x9c');}else{_0x25cfc3[_0x4ee1('0x4d')]=_0x4ee1('0x9d');}}else{_0x25cfc3['message']='ACTIVE';}emitCampaignPreview(_0x25cfc3);};Preview[_0x4ee1('0xe')][_0x4ee1('0x9e')]=function(_0x5ac164,_0x318e43,_0x431dfa){var _0x3f8f94=this;var _0x216925=this[_0x4ee1('0x71')][_0x318e43];var _0x1e6d5d=this[_0x4ee1('0x11')][_0x216925[_0x4ee1('0x74')]];var _0x28e11c;if(_0x1e6d5d){switch(_0x431dfa){case'1':_0x1e6d5d[_0x4ee1('0x40')]+=0x1;_0x216925['countnosuchnumberretry']+=0x1;_0x216925[_0x4ee1('0x9f')]=ut[_0x4ee1('0xa0')](_0x216925);ut['logCustomer'](_0x216925,0x0,'NoSuchNumber');ami[_0x4ee1('0x26')](_0x4ee1('0xa1'),ut[_0x4ee1('0xa2')](_0x216925,_0x4ee1('0xa3')));rpcDb[_0x4ee1('0x91')](_0x216925,_0x4ee1('0xa4'));if(ut[_0x4ee1('0xa0')](_0x216925)>=_0x1e6d5d['dialGlobalMaxRetry']){_0x28e11c=ut[_0x4ee1('0xa5')](_0x216925,0xf,_0x4ee1('0xa6'));rpcDb[_0x4ee1('0x95')](_0x28e11c,_0x4ee1('0xa7'));}else{if(_0x216925[_0x4ee1('0xa8')]>=_0x1e6d5d['dialNoSuchNumberMaxRetry']){rpcDb[_0x4ee1('0x95')](_0x216925,'[callProgressDetectingCustomer][logNoSuchGlobal]');}else{rpcDb[_0x4ee1('0xa9')](ut[_0x4ee1('0xaa')](_0x216925,'countnosuchnumberretry',_0x1e6d5d['dialNoSuchNumberRetryFrequency']),_0x216925[_0x4ee1('0xab')],_0x216925[_0x4ee1('0xac')]);}}delete this['actions'][_0x5ac164[_0x4ee1('0xad')]];break;case'ANSWER':var _0x58dd6c=moment()[_0x4ee1('0x59')](_0x4ee1('0xae'));_0x216925[_0x4ee1('0xaf')]=_0x58dd6c;_0x216925[_0x4ee1('0xb0')]=_0x58dd6c;_0x216925[_0x4ee1('0x77')]=!![];_0x1e6d5d[_0x4ee1('0x2c')]+=0x1;logger['info'](_0x4ee1('0xb1'),_0x216925['uniqueid'],'\x20Queue',_0x1e6d5d[_0x4ee1('0x29')],_0x4ee1('0x76'),_0x1e6d5d[_0x4ee1('0x2c')]);ami[_0x4ee1('0x26')](_0x4ee1('0xb2'),ut[_0x4ee1('0xa2')](_0x216925,_0x4ee1('0xb3'),this[_0x4ee1('0x11')][_0x216925['queue']]));if(_0x1e6d5d[_0x4ee1('0xb4')]){ami[_0x4ee1('0x26')]('custom:agentConnectPreview',ut[_0x4ee1('0xb5')](_0x216925));}break;case'16':ami[_0x4ee1('0x26')](_0x4ee1('0xb6'),ut[_0x4ee1('0xa2')](_0x216925,_0x4ee1('0xb7'),this[_0x4ee1('0x11')][_0x216925[_0x4ee1('0x74')]]));emitVoiceQueueChannelRemove(ut['buildObj'](_0x216925,_0x4ee1('0xb7')));_0x1e6d5d['outboundAnswerCallsDay']+=0x1;_0x1e6d5d[_0x4ee1('0xb8')]+=0x1;_0x1e6d5d[_0x4ee1('0xb9')]+=0x1;ut[_0x4ee1('0xba')](_0x1e6d5d,_0x4ee1('0xbb'));_0x216925['countglobal']=ut[_0x4ee1('0xa0')](_0x216925);ut[_0x4ee1('0x8d')](_0x216925,0x4,_0x4ee1('0xbc'));rpcDb['createCustomerHistory'](_0x216925,'[callProgressDetectingCustomer][logAnswer]');rpcDb[_0x4ee1('0x95')](_0x216925,'[callProgressDetectingCustomer][logAnswerGlobal]');rpcDb[_0x4ee1('0xbd')](_0x216925);_0x1e6d5d[_0x4ee1('0x2e')]+=_0x216925[_0x4ee1('0xbe')];_0x1e6d5d['sumBillable']+=_0x216925['talktime'];logger[_0x4ee1('0x5b')](_0x4ee1('0xbf'),_0x216925[_0x4ee1('0xc0')],_0x4ee1('0xc1'),_0x1e6d5d[_0x4ee1('0x29')],_0x4ee1('0x76'),_0x1e6d5d[_0x4ee1('0x2c')]);delete this['actions'][_0x5ac164['linkedid']];break;case'BUSY':_0x1e6d5d[_0x4ee1('0x3b')]+=0x1;_0x216925[_0x4ee1('0xc2')]+=0x1;_0x216925[_0x4ee1('0x9f')]=ut[_0x4ee1('0xa0')](_0x216925);ut['logCustomer'](_0x216925,0x5,_0x4ee1('0xc3'));ami['emit'](_0x4ee1('0xc4'),ut[_0x4ee1('0xa2')](_0x216925,_0x4ee1('0xc5')));rpcDb[_0x4ee1('0x91')](_0x216925,_0x4ee1('0xc6'));if(ut[_0x4ee1('0xa0')](_0x216925)>=_0x1e6d5d['dialGlobalMaxRetry']){_0x28e11c=ut[_0x4ee1('0xa5')](_0x216925,0xf,_0x4ee1('0xa6'));rpcDb[_0x4ee1('0x95')](_0x28e11c,_0x4ee1('0xc7'));}else{if(_0x216925[_0x4ee1('0xc2')]>=_0x1e6d5d[_0x4ee1('0xc8')]){rpcDb[_0x4ee1('0x95')](_0x216925,_0x4ee1('0xc6'));}else{rpcDb[_0x4ee1('0xa9')](ut[_0x4ee1('0xaa')](_0x216925,_0x4ee1('0xc2'),_0x1e6d5d['dialBusyRetryFrequency']),_0x216925[_0x4ee1('0xab')],_0x216925[_0x4ee1('0xac')]);}}break;case _0x4ee1('0xc9'):_0x1e6d5d[_0x4ee1('0x3f')]+=0x1;_0x216925[_0x4ee1('0xca')]+=0x1;_0x216925[_0x4ee1('0x9f')]=ut[_0x4ee1('0xa0')](_0x216925);ut[_0x4ee1('0x8d')](_0x216925,0x3,_0x4ee1('0xcb'));ami[_0x4ee1('0x26')](_0x4ee1('0xcc'),ut[_0x4ee1('0xa2')](_0x216925,_0x4ee1('0xcd')));rpcDb[_0x4ee1('0x91')](_0x216925,_0x4ee1('0xce'));if(ut[_0x4ee1('0xa0')](_0x216925)>=_0x1e6d5d['dialGlobalMaxRetry']){_0x28e11c=ut[_0x4ee1('0xa5')](_0x216925,0xf,_0x4ee1('0xa6'));rpcDb['createCustomerFinal'](_0x28e11c,_0x4ee1('0xcf'));}else{if(_0x216925[_0x4ee1('0xca')]>=_0x1e6d5d['dialNoAnswerMaxRetry']){rpcDb['createCustomerFinal'](_0x216925,_0x4ee1('0xce'));}else{rpcDb['rescheduleContact'](ut[_0x4ee1('0xaa')](_0x216925,_0x4ee1('0xca'),_0x1e6d5d['dialNoAnswerRetryFrequency']),_0x216925[_0x4ee1('0xab')],_0x216925[_0x4ee1('0xac')]);}}break;case _0x4ee1('0xd0'):_0x1e6d5d[_0x4ee1('0xd1')]+=0x1;_0x216925['countcongestionretry']+=0x1;_0x216925[_0x4ee1('0x9f')]=ut[_0x4ee1('0xa0')](_0x216925);ut[_0x4ee1('0x8d')](_0x216925,0x8,_0x4ee1('0xd2'));ami[_0x4ee1('0x26')](_0x4ee1('0xd3'),ut[_0x4ee1('0xa2')](_0x216925,_0x4ee1('0xd4')));rpcDb['createCustomerHistory'](_0x216925,_0x4ee1('0xd5'));if(ut[_0x4ee1('0xa0')](_0x216925)>=_0x1e6d5d['dialGlobalMaxRetry']){_0x28e11c=ut[_0x4ee1('0xa5')](_0x216925,0xf,'Global');rpcDb['createCustomerFinal'](_0x28e11c,_0x4ee1('0xd6'));}else{if(_0x216925[_0x4ee1('0xd7')]>=_0x1e6d5d[_0x4ee1('0xd8')]){rpcDb[_0x4ee1('0x95')](_0x216925,_0x4ee1('0xd5'));}else{rpcDb[_0x4ee1('0xa9')](ut['scheduledAt'](_0x216925,_0x4ee1('0xd7'),_0x1e6d5d[_0x4ee1('0xd9')]),_0x216925[_0x4ee1('0xab')],_0x216925[_0x4ee1('0xac')]);}}break;case _0x4ee1('0xda'):_0x1e6d5d[_0x4ee1('0xdb')]+=0x1;_0x216925[_0x4ee1('0xdc')]+=0x1;_0x216925[_0x4ee1('0x9f')]=ut['totalGlobal'](_0x216925);ut[_0x4ee1('0x8d')](_0x216925,0x14,_0x4ee1('0xdd'));ami[_0x4ee1('0x26')](_0x4ee1('0xde'),ut[_0x4ee1('0xa2')](_0x216925,'agentreject'));rpcDb[_0x4ee1('0x91')](_0x216925,'[syncHangupRequest][logAgentReject]');if(ut[_0x4ee1('0xa0')](_0x216925)>=_0x1e6d5d[_0x4ee1('0xdf')]){_0x28e11c=ut[_0x4ee1('0xa5')](_0x216925,0x14,_0x4ee1('0xdd'));rpcDb['createCustomerFinal'](_0x28e11c,_0x4ee1('0xe0'));}else{if(_0x216925[_0x4ee1('0xdc')]>=_0x1e6d5d['dialAgentRejectMaxRetry']){rpcDb[_0x4ee1('0x95')](_0x216925,'[callProgressDetectingCustomer][logAgentReject]');}else{rpcDb[_0x4ee1('0xa9')](ut[_0x4ee1('0xaa')](_0x216925,'countagentrejectretry',_0x1e6d5d['dialAgentRejectRetryFrequency']),_0x216925[_0x4ee1('0xab')],_0x216925[_0x4ee1('0xac')]);}}break;case'ABANDONED':_0x1e6d5d['outboundAbandonedCallsDay']+=0x1;_0x216925['countabandonedretry']+=0x1;_0x216925[_0x4ee1('0x9f')]=ut['totalGlobal'](_0x216925);ut[_0x4ee1('0x8d')](_0x216925,0xb,_0x4ee1('0xe1'));rpcDb[_0x4ee1('0x91')](_0x216925,_0x4ee1('0xe2'));if(ut['totalGlobal'](_0x216925)>=_0x1e6d5d[_0x4ee1('0xdf')]){_0x28e11c=ut[_0x4ee1('0xa5')](_0x216925,0xf,'Global');rpcDb[_0x4ee1('0x95')](_0x28e11c,_0x4ee1('0xe2'));}else{if(_0x216925[_0x4ee1('0xe3')]>=_0x1e6d5d['dialAbandonedMaxRety']){rpcDb['createCustomerFinal'](_0x216925,_0x4ee1('0xe2'));}else{rpcDb[_0x4ee1('0xa9')](ut[_0x4ee1('0xaa')](_0x216925,_0x4ee1('0xe4'),_0x1e6d5d[_0x4ee1('0xe5')]),_0x216925[_0x4ee1('0xab')],_0x216925[_0x4ee1('0xac')]);}}break;case'18':_0x1e6d5d[_0x4ee1('0x42')]+=0x1;_0x216925[_0x4ee1('0xe6')]+=0x1;_0x216925[_0x4ee1('0x9f')]=ut[_0x4ee1('0xa0')](_0x216925);ut[_0x4ee1('0x8d')](_0x216925,0x12,_0x5ac164['cause-txt']||_0x5ac164[_0x4ee1('0xe7')]);ami[_0x4ee1('0x26')](_0x4ee1('0xe8'),ut[_0x4ee1('0xa2')](_0x216925,_0x4ee1('0xe9')));rpcDb[_0x4ee1('0x91')](_0x216925,'[callProgressDetectingCustomer][hangupInAMD]');if(ut[_0x4ee1('0xa0')](_0x216925)>=_0x1e6d5d['dialGlobalMaxRetry']){_0x28e11c=ut[_0x4ee1('0xa5')](_0x216925,0xf,'Global');rpcDb[_0x4ee1('0x95')](_0x28e11c,_0x4ee1('0xea'));}else{rpcDb[_0x4ee1('0x95')](_0x216925,_0x4ee1('0xea'));}delete this[_0x4ee1('0x71')][_0x5ac164[_0x4ee1('0xad')]];break;case'19':_0x1e6d5d[_0x4ee1('0x42')]+=0x1;_0x216925[_0x4ee1('0x9f')]=ut[_0x4ee1('0xa0')](_0x216925);ut['logCustomer'](_0x216925,0x13,_0x5ac164[_0x4ee1('0xeb')]||_0x5ac164[_0x4ee1('0xe7')]);ami['emit'](_0x4ee1('0xe8'),ut[_0x4ee1('0xa2')](_0x216925,_0x4ee1('0xe9')));rpcDb[_0x4ee1('0x91')](_0x216925,_0x4ee1('0xec'));if(ut[_0x4ee1('0xa0')](_0x216925)>=_0x1e6d5d[_0x4ee1('0xdf')]){_0x28e11c=ut['cloneAction'](_0x216925,0xf,_0x4ee1('0xa6'));rpcDb[_0x4ee1('0x95')](_0x28e11c,_0x4ee1('0xec'));}else{rpcDb['createCustomerFinal'](_0x216925,_0x4ee1('0xec'));}delete this[_0x4ee1('0x71')][_0x5ac164[_0x4ee1('0xad')]];break;default:if(_0x216925['dialAnswer']){ut['decrementTalkink'](_0x1e6d5d,_0x4ee1('0xed'));ut['loggerError'](_0x4ee1('0xee')+_0x1e6d5d[_0x4ee1('0x29')],_0x5ac164);}_0x1e6d5d[_0x4ee1('0x42')]+=0x1;_0x216925['countglobal']=ut[_0x4ee1('0xa0')](_0x216925);ut[_0x4ee1('0x8d')](_0x216925,0xc,_0x5ac164[_0x4ee1('0xeb')]||_0x5ac164[_0x4ee1('0xe7')]);rpcDb[_0x4ee1('0x91')](_0x216925,_0x4ee1('0xef'));if(ut[_0x4ee1('0xa0')](_0x216925)>=_0x1e6d5d[_0x4ee1('0xdf')]){_0x28e11c=ut['cloneAction'](_0x216925,0xf,_0x4ee1('0xa6'));rpcDb[_0x4ee1('0x95')](_0x28e11c,_0x4ee1('0xf0'));}else{rpcDb[_0x4ee1('0x95')](_0x216925,_0x4ee1('0xf0'));}delete this[_0x4ee1('0x71')][_0x5ac164[_0x4ee1('0xad')]];}if(!(_0x216925['dialAnswer']&&_0x431dfa==='16')){ut[_0x4ee1('0x7d')](_0x1e6d5d,'[callProgressDetectingCustomer]');logger[_0x4ee1('0x5b')]('[originated][decrement][callProgressDetectingCustomer]',_0x216925[_0x4ee1('0xc0')],_0x4ee1('0xc1'),_0x1e6d5d[_0x4ee1('0x29')],_0x4ee1('0x75'),_0x1e6d5d['originated']);}if(_0x431dfa!=='ANSWER'){delete this[_0x4ee1('0x71')][_0x5ac164[_0x4ee1('0xad')]];delete this['actions'][_0x5ac164[_0x4ee1('0xf1')]];}}};Preview[_0x4ee1('0xe')][_0x4ee1('0xf2')]=function(_0x51f937,_0x9ea41c,_0x2e2dad){if(_[_0x4ee1('0xf3')](_0x9ea41c)&&'object'!==typeof _0x9ea41c){return;}if(_[_0x4ee1('0xf3')](_0x2e2dad)&&'object'!==typeof _0x2e2dad){return;}switch(_0x2e2dad[_0x4ee1('0xf4')]){case'0':ut['logAgent'](_0x51f937,0x0,_0x4ee1('0xf5'));rpcDb[_0x4ee1('0xf6')](_0x51f937,_0x4ee1('0xf7'));break;case'3':ut[_0x4ee1('0xf8')](_0x51f937,0x3,_0x4ee1('0xcb'));rpcDb[_0x4ee1('0xf6')](_0x51f937,_0x4ee1('0xf9'));break;case'5':ut['logAgent'](_0x51f937,0x5,_0x4ee1('0xc3'));rpcDb[_0x4ee1('0xf6')](_0x51f937,_0x4ee1('0xfa'));break;case'8':ut[_0x4ee1('0xf8')](_0x51f937,0x8,_0x4ee1('0xd2'));rpcDb[_0x4ee1('0xf6')](_0x51f937,'[callProgressDetectingAgent][logCongestion]');break;case'22':ut[_0x4ee1('0xf8')](_0x51f937,0x16,_0x4ee1('0xfb'));rpcDb['createAgentHistory'](_0x51f937,_0x4ee1('0xfc'));break;default:ut[_0x4ee1('0xf8')](_0x51f937,0xc,_0x2e2dad['reason']);rpcDb[_0x4ee1('0xf6')](_0x51f937,_0x4ee1('0xfd'));}ut[_0x4ee1('0x7d')](_0x9ea41c,_0x4ee1('0xfe'));logger[_0x4ee1('0x5b')](_0x4ee1('0xff'),_0x51f937[_0x4ee1('0xc0')],_0x4ee1('0xc1'),_0x9ea41c[_0x4ee1('0x29')],_0x4ee1('0x75'),_0x9ea41c[_0x4ee1('0x4e')]);delete this['actions'][_0x51f937[_0x4ee1('0xc0')]];};Preview[_0x4ee1('0xe')][_0x4ee1('0x100')]=function(_0x1fdf4c,_0x58da3b,_0x383e36,_0x38595b,_0x15374f){var _0x733d26=this;return new BPromise(function(_0x29d7e0,_0x205189){if(_[_0x4ee1('0x70')](_0x58da3b)||_[_0x4ee1('0x70')](_0x58da3b[_0x4ee1('0x101')])||_[_0x4ee1('0x70')](_0x58da3b['Contact'][_0x4ee1('0x102')])||_['isNil'](_0x58da3b[_0x4ee1('0x7a')])){_0x205189(ut[_0x4ee1('0x4d')](_0x4ee1('0x103'),_0x38595b,_0x15374f));return;}var _0x4acf94=uuid['v4']();var _0x2c97a0=_0x733d26[_0x4ee1('0x11')][_0x58da3b[_0x4ee1('0x73')][_0x4ee1('0x29')]];var _0x172b4e=_0x383e36?_0x733d26[_0x4ee1('0x14')][_0x383e36]['id']:undefined;_0x733d26[_0x4ee1('0x71')][_0x4acf94]=new Action(_0x58da3b,_0x2c97a0,_0x4acf94,_0x383e36,_0x172b4e);var _0x5d0972=_0x733d26['actions'][_0x4acf94];_0x5d0972[_0x4ee1('0xab')]=_0x38595b;_0x5d0972['activeContact']=_0x15374f;_0x5d0972[_0x4ee1('0x104')]=_0x383e36;if(_[_0x4ee1('0x105')](_0x1fdf4c)){_0x733d26[_0x4ee1('0x106')](_0x5d0972,_0x2c97a0,_0x58da3b,_0x383e36)[_0x4ee1('0x85')](function(_0x419be9){logger[_0x4ee1('0x5b')](_0x4ee1('0x107'),'Queue:\x20'+_0x5d0972[_0x4ee1('0x74')]+_0x4ee1('0x108')+_0x5d0972['idContact'],JSON['stringify'](_0x419be9));ami[_0x4ee1('0x26')](_0x4ee1('0x109'),ut[_0x4ee1('0xa2')](_0x5d0972,_0x4ee1('0x10a'),_0x733d26['campaignsPreview'][_0x5d0972[_0x4ee1('0x74')]]));_0x29d7e0(ut[_0x4ee1('0x4d')](_0x4ee1('0x10b')));})['catch'](function(_0x18d85d){ut[_0x4ee1('0x64')](_0x4ee1('0x10c'),_0x18d85d);_0x205189(ut[_0x4ee1('0x4d')](_0x4ee1('0x10d'),_0x38595b,_0x15374f));});}else{_0x2c97a0[_0x4ee1('0x10e')]+=0x1;ut[_0x4ee1('0x10f')](_0x5d0972);rpcDb[_0x4ee1('0x110')](_0x5d0972,_0x4ee1('0x111'));delete _0x733d26[_0x4ee1('0x71')][_0x4acf94];_0x205189(ut[_0x4ee1('0x4d')](_0x4ee1('0x112'),_0x38595b,_0x15374f));}});};Preview['prototype'][_0x4ee1('0x9a')]=function(_0x260fad){return!_[_0x4ee1('0x70')](_0x260fad)&&!_[_0x4ee1('0x70')](_0x260fad[_0x4ee1('0x29')])&&!_[_0x4ee1('0x70')](_0x260fad[_0x4ee1('0x55')])&&_0x260fad[_0x4ee1('0x55')]&&!_[_0x4ee1('0x70')](this[_0x4ee1('0x13')][util['format'](_0x4ee1('0x113'),_0x260fad[_0x4ee1('0x29')])])&&!_[_0x4ee1('0x70')](this['trunks'][util[_0x4ee1('0x59')]('SIP/%s',_0x260fad[_0x4ee1('0x29')])][_0x4ee1('0x114')])&&(this[_0x4ee1('0x13')][util[_0x4ee1('0x59')](_0x4ee1('0x113'),_0x260fad[_0x4ee1('0x29')])]['status']===_0x4ee1('0x115')||this[_0x4ee1('0x13')][util['format'](_0x4ee1('0x113'),_0x260fad[_0x4ee1('0x29')])][_0x4ee1('0x114')]===_0x4ee1('0x116'));};Preview[_0x4ee1('0xe')][_0x4ee1('0x117')]=function(_0x20e130,_0xe1f4bf){var _0x39c46e=this;return new BPromise(function(_0x428bf4,_0x4b3cbc){_0x39c46e[_0x4ee1('0x118')](_0x20e130,_0xe1f4bf)[_0x4ee1('0x85')](function(_0xb1ff45){_0x428bf4(_[_0x4ee1('0x78')](_0xb1ff45,[_0x4ee1('0x4d')]));})[_0x4ee1('0x7c')](function(_0x57154d){if(_0x57154d['unlock']){rpcDb[_0x4ee1('0x119')](_0x20e130);}if(_0x57154d[_0x4ee1('0x55')]){rpcDb['disableContact'](_0x20e130);}_0x4b3cbc(_[_0x4ee1('0x78')](_0x57154d,[_0x4ee1('0x4d')]));});});};Preview[_0x4ee1('0xe')][_0x4ee1('0x118')]=function(_0x59f710,_0x381b0b){var _0x350fa0=this;return new BPromise(function(_0x1921db,_0x35db5f){var _0x5c555d,_0x33d924;rpcDb[_0x4ee1('0x11a')](_0x59f710)[_0x4ee1('0x85')](function(_0x1e0872){if(!_[_0x4ee1('0x70')](_0x1e0872[0x0])){_0x33d924=_0x1e0872[0x0][_0x4ee1('0x11b')]?![]:!![];_0x5c555d=_0x1e0872[0x0][_0x4ee1('0x11b')]?!![]:![];_0x5c555d=_0x381b0b?!![]:_0x5c555d;}var _0x5805a3=_0x350fa0['validateContact'](_0x1e0872);if(_0x5805a3[_0x4ee1('0x11c')]){rpcDb[_0x4ee1('0x11d')](_['pick'](_0x1e0872[0x0],[_0x4ee1('0x7a'),_0x4ee1('0x11e')]))[_0x4ee1('0x85')](function(_0x2c1016){_0x350fa0['checkInBlack'](_0x2c1016,_0x1e0872[0x0],_0x381b0b,_0x33d924,_0x5c555d)[_0x4ee1('0x85')](function(_0x47c159){_0x1921db(_0x47c159);})[_0x4ee1('0x7c')](function(_0x5e74b2){_0x35db5f(_0x5e74b2);});})[_0x4ee1('0x7c')](function(_0x248c58){ut[_0x4ee1('0x64')](_0x4ee1('0x11f'),_0x248c58);_0x35db5f(ut[_0x4ee1('0x4d')](_0x4ee1('0x120'),_0x33d924,_0x5c555d));});}else{_0x35db5f(ut[_0x4ee1('0x4d')](_0x5805a3[_0x4ee1('0x4d')],_0x33d924,_0x5c555d));}})[_0x4ee1('0x7c')](function(_0x12f795){ut['logger'](_0x4ee1('0x121'),_0x12f795);_0x35db5f(ut['message'](_0x4ee1('0x120'),![],!![]));});});};Preview['prototype']['validateContact']=function(_0x3baee2){if(_[_0x4ee1('0x70')](_0x3baee2)||_[_0x4ee1('0x105')](_0x3baee2)||!_[_0x4ee1('0x70')](_0x3baee2[0x0][_0x4ee1('0x88')])&&_[_0x4ee1('0x70')](_0x3baee2[0x0][_0x4ee1('0x88')][_0x4ee1('0x29')])){ut[_0x4ee1('0x64')]('[Preview][validateContact][Empty\x20Contact]',_0x3baee2);return{'isValid':![],'message':'Empty\x20Contact'};}var _0x31ce12=this['campaignsPreview'][_0x3baee2[0x0][_0x4ee1('0x73')][_0x4ee1('0x29')]];_0x31ce12[_0x4ee1('0x4d')]=_0x4ee1('0x9d');if(_[_0x4ee1('0x70')](_0x31ce12)){ut[_0x4ee1('0x64')](_0x4ee1('0x122'),_0x31ce12);return{'isValid':![],'message':_0x4ee1('0x123')};}if(!this[_0x4ee1('0x9a')](_0x31ce12[_0x4ee1('0x54')])){ut[_0x4ee1('0x64')](_0x4ee1('0x124'),_0x4ee1('0x125')+_0x31ce12[_0x4ee1('0x29')]+_0x4ee1('0x126'));if(!this['isTrunkReachable'](_0x31ce12[_0x4ee1('0x9b')])){ut[_0x4ee1('0x64')]('[Preview][validateContact][Trunk\x20not\x20work]',_0x31ce12[_0x4ee1('0x29')]+_0x4ee1('0x127'));return{'isValid':![],'message':_0x4ee1('0x128')};}}if(!ut[_0x4ee1('0x99')](_0x31ce12['dialActive'])){ut[_0x4ee1('0x64')](_0x4ee1('0x129'),_0x31ce12['name']+_0x4ee1('0x12a'));return{'isValid':![],'message':_0x4ee1('0x125')+_0x31ce12['name']+'\x20Not\x20Active'};}return{'isValid':!![],'message':_0x4ee1('0x12b')};};Preview['prototype'][_0x4ee1('0x106')]=function(_0x10c29f,_0x2b19d4,_0x13978a,_0x56b7cd){var _0xcb32a2=this;return new BPromise(function(_0x5d15ed,_0x27acc8){var _0x3047b9=_0x10c29f[_0x4ee1('0xc0')];var _0x512da2=_0xcb32a2[_0x4ee1('0x9a')](_0x2b19d4[_0x4ee1('0x54')])?util[_0x4ee1('0x59')](_0x4ee1('0x12c'),_0x2b19d4[_0x4ee1('0x54')][_0x4ee1('0x29')],_['isNil'](_0x2b19d4[_0x4ee1('0x39')])?'':_0x2b19d4[_0x4ee1('0x39')]['trim']()||'',_0x2b19d4[_0x4ee1('0x12d')]>0x0?_0x13978a[_0x4ee1('0x101')]['phone'][_0x4ee1('0x12e')](_0x2b19d4[_0x4ee1('0x12d')]):_0x13978a['Contact'][_0x4ee1('0x102')]):util['format'](_0x4ee1('0x12c'),_['isNil'](_0x2b19d4[_0x4ee1('0x9b')])?_0x2b19d4['Trunk']['name']:_0x2b19d4['TrunkBackup']['name'],_[_0x4ee1('0x70')](_0x2b19d4['dialPrefix'])?'':_0x2b19d4[_0x4ee1('0x39')][_0x4ee1('0x12f')]()||'',_0x2b19d4[_0x4ee1('0x12d')]>0x0?_0x13978a[_0x4ee1('0x101')][_0x4ee1('0x102')][_0x4ee1('0x12e')](_0x2b19d4[_0x4ee1('0x12d')]):_0x13978a[_0x4ee1('0x101')][_0x4ee1('0x102')]);var _0x43507a=_0xcb32a2[_0x4ee1('0x9a')](_0x2b19d4[_0x4ee1('0x54')])?ut[_0x4ee1('0x130')](_0x2b19d4[_0x4ee1('0x54')][_0x4ee1('0x56')],_0x2b19d4[_0x4ee1('0x36')],_0x2b19d4[_0x4ee1('0x131')]>0x0?ut[_0x4ee1('0x132')](_0x2b19d4[_0x4ee1('0x37')],_0x2b19d4[_0x4ee1('0x131')]):_0x2b19d4[_0x4ee1('0x37')]):ut[_0x4ee1('0x130')](_[_0x4ee1('0x70')](_0x2b19d4[_0x4ee1('0x9b')])?_0x2b19d4[_0x4ee1('0x54')][_0x4ee1('0x56')]:_0x2b19d4[_0x4ee1('0x9b')][_0x4ee1('0x56')],_0x2b19d4[_0x4ee1('0x36')],_0x2b19d4[_0x4ee1('0x131')]>0x0?ut['getCallerIdRandom'](_0x2b19d4['dialOriginateCallerIdNumber'],_0x2b19d4['dialRandomLastDigitCallerIdNumber']):_0x2b19d4[_0x4ee1('0x37')]);if(_0x43507a){_0x10c29f[_0x4ee1('0x133')]=ut[_0x4ee1('0x134')](_0x43507a);_0x10c29f['originatecalleridnum']=ut[_0x4ee1('0x135')](_0x43507a);}var _0x14139e=ut[_0x4ee1('0x136')](_0x2b19d4,_0x13978a,_0x512da2,_0x43507a,_0x3047b9,_0x10c29f);_[_0x4ee1('0x137')](_0x10c29f,ut[_0x4ee1('0x138')](_0x14139e));_0x10c29f[_0x4ee1('0x8c')]=moment()[_0x4ee1('0x59')](_0x4ee1('0xae'));ami[_0x4ee1('0x7b')](ut[_0x4ee1('0x139')](_0x10c29f,_0x2b19d4,_0x14139e,_0x10c29f['activeContact'],_0x56b7cd))[_0x4ee1('0x85')](function(_0x4d5868){_0x2b19d4[_0x4ee1('0x4e')]+=0x1;logger[_0x4ee1('0x5b')](_0x4ee1('0x13a'),_0x3047b9,_0x4ee1('0xc1'),_0x2b19d4['name'],_0x4ee1('0x75'),_0x2b19d4['originated']);_0x5d15ed(_0x4d5868);})[_0x4ee1('0x7c')](function(_0x1df16e){ut[_0x4ee1('0xf8')](_0x10c29f,0xe,_0x4ee1('0x13b'));rpcDb[_0x4ee1('0xf6')](_0x10c29f,'[originateFailure][logOriginateFailure]');_0x27acc8(_0x1df16e);});});};Preview[_0x4ee1('0xe')][_0x4ee1('0x1f')]=function(_0x6557c2){if(this[_0x4ee1('0x71')][_0x6557c2[_0x4ee1('0xad')]]){this[_0x4ee1('0x71')][_0x6557c2['linkedid']][_0x4ee1('0x13c')]=_0x6557c2['channel'];}};Preview[_0x4ee1('0xe')][_0x4ee1('0x17')]=function(_0x53c584){var _0x5a4829=this;var _0x580b17=this[_0x4ee1('0x71')][_0x53c584['actionid']];if(_0x580b17){if(_0x580b17['lookAgent']&&this[_0x4ee1('0x14')][_0x580b17[_0x4ee1('0x104')]]){ut['logLookAgent'](_0x580b17,this[_0x4ee1('0x14')][_0x580b17[_0x4ee1('0x104')]][_0x4ee1('0x29')],this['agents'][_0x580b17[_0x4ee1('0x104')]]['id']);}var _0x37b6c0=_[_0x4ee1('0x13d')](_0x580b17);_0x37b6c0[_0x4ee1('0xaf')]=moment()[_0x4ee1('0x59')](_0x4ee1('0xae'));var _0x10d099=_0x5a4829['campaignsPreview'][_0x580b17[_0x4ee1('0x74')]];if(ut[_0x4ee1('0x13e')](_0x53c584['response'])){if(_0x580b17['unlockAgent']){rpcDb['unlockContact'](_0x580b17[_0x4ee1('0x13f')]);}if(_0x580b17[_0x4ee1('0xac')]){rpcDb[_0x4ee1('0x8b')](_0x580b17['idContact']);}ami['emit'](_0x4ee1('0x140'),ut['buildObj'](_0x580b17,_0x4ee1('0x141'),this[_0x4ee1('0x11')][_0x580b17[_0x4ee1('0x74')]]));this['callProgressDetectingAgent'](_0x37b6c0,_0x10d099,_0x53c584);}else{_0x580b17[_0x4ee1('0x8c')]=moment()[_0x4ee1('0x59')]('YYYY-MM-DD\x20HH:mm:ss');ut[_0x4ee1('0xf8')](_0x37b6c0,0x4,_0x4ee1('0xbc'));rpcDb[_0x4ee1('0xf6')](_0x37b6c0,_0x4ee1('0x142'));}}};Preview[_0x4ee1('0xe')][_0x4ee1('0x1a')]=function(_0x2d4bcd){var _0x5e2e11=this;var _0x479ae9=this[_0x4ee1('0x71')][_0x2d4bcd['linkedid']];var _0x100e44;if(_0x479ae9){_0x100e44=this[_0x4ee1('0x11')][_0x479ae9[_0x4ee1('0x74')]];logger['info'](_0x4ee1('0x143'),_0x2d4bcd[_0x4ee1('0xad')],_0x4ee1('0xc1'),_0x100e44[_0x4ee1('0x29')],_0x4ee1('0x76'),_0x100e44['pTalking']);}if(this[_0x4ee1('0x71')][_0x2d4bcd['linkedid']]&&_0x2d4bcd[_0x4ee1('0xad')]!==_0x2d4bcd[_0x4ee1('0xc0')]){if(_0x2d4bcd['cause']==='16'&&this[_0x4ee1('0x71')][_0x2d4bcd[_0x4ee1('0xad')]][_0x4ee1('0x77')]){this[_0x4ee1('0x9e')](_0x2d4bcd,_0x2d4bcd['linkedid'],_0x2d4bcd[_0x4ee1('0x144')]);}else if(this[_0x4ee1('0x71')][_0x2d4bcd['linkedid']]['dialAnswer']){logger[_0x4ee1('0x5b')](_0x4ee1('0x145'),_0x2d4bcd[_0x4ee1('0xad')],_0x2d4bcd[_0x4ee1('0x144')],_0x4ee1('0xc1'),_0x100e44[_0x4ee1('0x29')],_0x4ee1('0x76'),_0x100e44[_0x4ee1('0x2c')]);this[_0x4ee1('0x9e')](_0x2d4bcd,_0x2d4bcd['linkedid'],_0x2d4bcd['cause']);}}else if(_0x479ae9&&_[_0x4ee1('0x70')](_0x479ae9[_0x4ee1('0x146')])&&_0x100e44[_0x4ee1('0x147')]&&_0x2d4bcd[_0x4ee1('0xad')]===_0x2d4bcd[_0x4ee1('0xc0')]&&_['isNil'](_0x2d4bcd['reason'])&&_0x2d4bcd[_0x4ee1('0x144')]==='16'&&_0x2d4bcd[_0x4ee1('0x148')]==='6'&&_[_0x4ee1('0xf3')](_0x479ae9[_0x4ee1('0x149')])){if(_0x479ae9[_0x4ee1('0xab')]){rpcDb[_0x4ee1('0x119')](_0x479ae9[_0x4ee1('0x13f')]);}if(_0x479ae9[_0x4ee1('0xac')]){rpcDb['disableContact'](_0x479ae9[_0x4ee1('0x13f')]);}_0x2d4bcd[_0x4ee1('0xf4')]='22';this[_0x4ee1('0xf2')](_0x479ae9,_0x100e44,_0x2d4bcd);}else if(_0x479ae9&&_0x479ae9[_0x4ee1('0x149')]){if(_0x2d4bcd['cause']==='16'&&this[_0x4ee1('0x71')][_0x2d4bcd[_0x4ee1('0xad')]][_0x4ee1('0x77')]){logger[_0x4ee1('0x5b')]('[syncHangup][talking][transfer]',_0x2d4bcd[_0x4ee1('0xad')],_0x2d4bcd[_0x4ee1('0x144')],'\x20Queue',_0x100e44[_0x4ee1('0x29')],'pTalking:\x20',_0x100e44['pTalking']);this[_0x4ee1('0x9e')](_0x2d4bcd,_0x2d4bcd['linkedid'],_0x2d4bcd[_0x4ee1('0x144')]);}else if(this[_0x4ee1('0x71')][_0x2d4bcd[_0x4ee1('0xad')]]['dialAnswer']){logger['info']('[syncHangup][talking][cause]',_0x2d4bcd[_0x4ee1('0xad')],_0x2d4bcd[_0x4ee1('0x144')],_0x4ee1('0xc1'),_0x100e44[_0x4ee1('0x29')],'pTalking:\x20',_0x100e44['pTalking']);this[_0x4ee1('0x9e')](_0x2d4bcd,_0x2d4bcd[_0x4ee1('0xad')],_0x2d4bcd[_0x4ee1('0x144')]);}}};Preview['prototype'][_0x4ee1('0x1d')]=function(_0x27afad){if(this[_0x4ee1('0x71')][_0x27afad[_0x4ee1('0xf1')]]&&_0x27afad[_0x4ee1('0xf1')]!==_0x27afad[_0x4ee1('0x14a')]){this[_0x4ee1('0x9e')](_0x27afad,_0x27afad[_0x4ee1('0xf1')],_0x27afad[_0x4ee1('0xe7')]);}};Preview['prototype'][_0x4ee1('0x1b')]=function(_0x50b3ac){if(this[_0x4ee1('0x71')][_0x50b3ac['linkedid']]&&_0x50b3ac[_0x4ee1('0xad')]!==_0x50b3ac[_0x4ee1('0xc0')]&&!this[_0x4ee1('0x71')][_0x50b3ac[_0x4ee1('0xad')]][_0x4ee1('0x77')]){if(_0x50b3ac[_0x4ee1('0x144')]==='1'){this[_0x4ee1('0x9e')](_0x50b3ac,_0x50b3ac[_0x4ee1('0xad')],_0x50b3ac[_0x4ee1('0x144')]);}}};Preview[_0x4ee1('0xe')][_0x4ee1('0x14b')]=function(_0x2a52d,_0x11afb1,_0x565e63){if(this['actions'][_0x2a52d]){if(_['isNil'](this[_0x4ee1('0x71')][_0x2a52d][_0x4ee1('0x14c')])){this[_0x4ee1('0x71')][_0x2a52d][_0x4ee1('0x14c')]={};}this[_0x4ee1('0x71')][_0x2a52d][_0x4ee1('0x14c')][_0x11afb1]=_0x565e63;}};Preview[_0x4ee1('0xe')]['syncVarSet']=function(_0x3cfa61){try{if(!_['isNil'](_0x3cfa61)){if(ut[_0x4ee1('0x14d')](_[_0x4ee1('0x14e')](_0x3cfa61[_0x4ee1('0x14f')])[0x0])){this[_0x4ee1('0x14b')](_0x3cfa61[_0x4ee1('0xc0')],_['keys'](_0x3cfa61[_0x4ee1('0x14f')])[0x0],_0x3cfa61['value']);}}}catch(_0x225ad4){logger[_0x4ee1('0x150')]('[syncVarSet][Preview]',util[_0x4ee1('0x151')](_0x225ad4,{'showHidden':![],'depth':null}));}};Preview[_0x4ee1('0xe')][_0x4ee1('0x22')]=function(_0x265391){if(_0x265391){if(this[_0x4ee1('0x71')][_0x265391[_0x4ee1('0x152')]]){this['actions'][_0x265391[_0x4ee1('0x152')]]['transfer']=!![];}}};Preview[_0x4ee1('0xe')]['syncBlindTransfer']=function(_0x5162dd){if(_0x5162dd){if(this[_0x4ee1('0x71')][_0x5162dd[_0x4ee1('0x153')]]){this['actions'][_0x5162dd[_0x4ee1('0x153')]]['transfer']=!![];}}};module['exports']=Preview;