Built motion from commit (unavailable).|2.5.31
[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 _0xf120=['getCallerIdRandom','dialOriginateCallerIdNumber','extractCalleridName','originatecalleridnum','extractCalleridNumber','addVariables','YYYY-MM-DD\x20HH:mm:ss','Action','variablesAction','OriginateError','[originateFailure][logOriginateFailure]','lookAgent','logLookAgent','clone','responsetime','isFailure','response','unlockContact','idContact','[callProgressDetectingAgent][logAnswer]','[syncHangup][talking]','cause','callProgressDetectingCustomer','statedesc','dialQueueProject','channelstate','transfer','[syncHangup][talking][transfer]','[syncHangup][talking][cause]','destuniqueid','addVariable','variables','filterKey','keys','variable','value','error','[syncVarSet][Preview]','inspect','transfertargetlinkedid','syncBlindTransfer','transfererlinkedid','exports','lodash','bluebird','uuid','md5','ioredis','../../../config/environment','preview','../../../config/logger','actionPreview','../ami','./rpcDb','./action','./util/util','redis','socket.io-emitter','prototype','tail','finally','sequence','campaignsPreview','trunks','actions','agents','clockClearZombieChannels','originateresponse','syncOriginateResponse','bind','hangup','syncHangup','hanguprequest','syncHangupRequest','syncDialEnd','newexten','syncNewExten','varset','syncVarSet','syncAttendedTransfer','blindtransfer','loopCampaigns','outbound','strategy','answered','available','loggedIn','pTalking','sumDuration','type','unmanaged','abandoned','waiting','dialActive','dialMethod','dialOriginateCallerIdName','dialOriginateTimeout','dialPrefix','outboundAnswerAgiCallsDay','outboundBlacklistCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundDropCallsDayACS','outboundDropCallsDayCallersExit','outboundNoSuchCallsDay','outboundReCallsDay','outboundRejectCallsDay','outboundUnknownCallsDay','predictiveIntervalAnsweredCalls','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','predictiveIntervalDroppedCallsCallersExit','predictiveIntervalDroppedCallsTimeout','predictiveIntervalErlangCalls','predictiveIntervalHitRate','predictiveIntervalMultiplicativeFactor','predictiveIntervalPauses','predictiveIntervalTotalCalls','message','originated','erlangCalls','erlangAbandonmentRate','erlangBusyFactor','startPredictive','startProgressive','Trunk','name','callerid','Interval','stringify','format','voice:queue:%s','voice_queue:save','info','[DEBUG]\x20Emit\x20voice_queue_channel:remove\x20event','sendMessageOneNotActive','paused','NOT_ACTIVE','logger','\x20is\x20not\x20active','IS_DISACTIVED','[CampaignPreview]\x20Campaign\x20Queue:\x20','syncCampaigns','hasOwnProperty','setMessage','clearZombieChannel','isNil','Queue','queue','originated:\x20','pTalking:\x20','dialAnswer','pick','contactId','UserId','VoiceQueueId','ListId','channel','catch','[clearZombieChannel]','decrementTalkink','[Dialer][checkChannel][pTalking][Preview]','loggerError','clearZombieChannels','[action]','size','getContactRecallMe','agentReadyId','getDiff','scheduledat','Agent','run','logger2','[RecallMe]','starttime','logCustomer','dialRecallInQueue','rescheduleContactInQueue','createCustomerHistory','[HistoryDialRecallInQueue][historyCatch]','RecallFailedTimeout','[HistoryRecallClose]','createCustomerFinal','[getContactRecallMe]','IsNotLoggedIn','isActive','isTrunkReachable','TrunkBackup','TRUNK_IS_NOT_REACHABLE','ACTIVE','countnosuchnumberretry','countglobal','totalGlobal','NoSuchNumber','emit','custom:agentnosuchnumber','nosuchnumber','[callProgressDetectingCustomer][logNoSuch]','dialGlobalMaxRetry','Global','[callProgressDetectingCustomer][logNoSuchGlobal]','dialNoSuchNumberMaxRetry','rescheduleContact','dialNoSuchNumberRetryFrequency','unlockAgent','activeContact','linkedid','ANSWER','answertime','uniqueid','\x20Queue','custom:agentconnect','buildObj','connect','acw','custom:agentConnectPreview','custom:agentcomplete','complete','outboundAnswerCallsDay','[16]','Answer','[callProgressDetectingCustomer][logAnswerGlobal]','crateCustomerReportQueue','talktime','[syncHangup][talking][decrement]','BUSY','Busy','custom:agentbusy','[callProgressDetectingCustomer][logBusy]','cloneAction','[callProgressDetectingCustomer][logBusyGlobal]','countbusyretry','dialBusyMaxRetry','scheduledAt','dialBusyRetryFrequency','NOANSWER','outboundNoAnswerCallsDay','countnoanswerretry','NoAnswer','custom:agentnoanswer','noanswer','[callProgressDetectingCustomer][logNoAnswer]','[callProgressDetectingCustomer][logNoAnswerGlobal]','dialNoAnswerMaxRetry','dialNoAnswerRetryFrequency','CONGESTION','countcongestionretry','custom:agentcongestion','congestion','dialCongestionMaxRetry','[callProgressDetectingCustomer][logCongestion]','countagentrejectretry','custom:agentreject','[syncHangupRequest][logAgentReject]','AgentReject','[callProgressDetectingCustomer][logAgentReject]','dialAgentRejectMaxRetry','dialAgentRejectRetryFrequency','ABANDONED','outboundAbandonedCallsDay','countabandonedretry','[callProgressDetectingCustomer][logAbandoned]','dialAbandonedMaxRety','dialAbandonedRetryFrequency','countmachineretry','cause-txt','dialstatus','amd','[callProgressDetectingCustomer][hangupInAMD]','custom:amd','[callProgressDetectingCustomer][machine]','[default]','[Dialer][decrementTalkink][no\x20Hangup][Preview]','[callProgressDetectingCustomer][logUnknown]','[callProgressDetectingCustomer][logUnknownGlobal]','updateOriginated','[callProgressDetectingCustomer]','[originated][decrement][callProgressDetectingCustomer]','destlinkedid','callProgressDetectingAgent','object','isUndefined','reason','logAgent','createAgentHistory','[callProgressDetectingAgent][logNoAnswer]','[callProgressDetectingAgent][logBusy]','Congestion','AnswerAGI','[callProgressDetectingAgent][logAnswerAGI]','[originated][decrement][callProgressDetectingAgent]','Contact','phone','execCall','Queue:\x20','\x20IdHopper:\x20','custom:agentcalled','called','Calling','[Preview][execCall][failure]','Call\x20failed','logBlacklist','createHistory','[Blacklist][error]','Contact\x20in\x20black\x20List','active','SIP/%s','status','reachable','unmonitored','then','unlock','disableContact','execRun','recallme','isValid','[Preview][checkIsBlackList]','[Preview][getContactPreview]','Call\x20unsuccessful','isEmpty','[Preview][validateContact][Empty\x20Contact]','[Preview][validateContact][Empty\x20Campaign]','Empty\x20Campaign','[Preview][validateContact][Trunk\x20not\x20work]','campaign\x20Name:\x20','\x20Trunk\x20is\x20not\x20active','\x20Not\x20Active','Is\x20Valid','SIP/%s/%s%s','trim','substring','dialCutDigit','getCallerId','dialRandomLastDigitCallerIdNumber'];(function(_0x59d89e,_0x55edf5){var _0x554e93=function(_0x3d40bc){while(--_0x3d40bc){_0x59d89e['push'](_0x59d89e['shift']());}};_0x554e93(++_0x55edf5);}(_0xf120,0x179));var _0x0f12=function(_0x53cd64,_0x6e69a0){_0x53cd64=_0x53cd64-0x0;var _0x4b7ce7=_0xf120[_0x53cd64];return _0x4b7ce7;};'use strict';var util=require('util');var _=require(_0x0f12('0x0'));var BPromise=require(_0x0f12('0x1'));var uuid=require(_0x0f12('0x2'));var moment=require('moment');var md5=require(_0x0f12('0x3'));var Redis=require(_0x0f12('0x4'));var config=require(_0x0f12('0x5'));var logger=require('../../../config/logger')(_0x0f12('0x6'));var loggerAction=require(_0x0f12('0x7'))(_0x0f12('0x8'));var ami=require(_0x0f12('0x9'));var rpcDb=require(_0x0f12('0xa'));var Action=require(_0x0f12('0xb'));var ut=require(_0x0f12('0xc'));config[_0x0f12('0xd')]=_['defaults'](config[_0x0f12('0xd')],{'host':'localhost','port':0x18eb});var io=require(_0x0f12('0xe'))(new Redis(config[_0x0f12('0xd')]));var Sequence=function(){};Sequence[_0x0f12('0xf')]['enqueue']=function(_0x5f158a){this[_0x0f12('0x10')]=this[_0x0f12('0x10')]?this[_0x0f12('0x10')][_0x0f12('0x11')](_0x5f158a):_0x5f158a();};function Preview(_0x42eec3){this[_0x0f12('0x12')]=new Sequence();this[_0x0f12('0x13')]=_0x42eec3['voiceQueues'];this[_0x0f12('0x14')]=_0x42eec3[_0x0f12('0x14')];this[_0x0f12('0x15')]={};this[_0x0f12('0x16')]=_0x42eec3[_0x0f12('0x16')];this[_0x0f12('0x17')]=0x0;ami['on'](_0x0f12('0x18'),this[_0x0f12('0x19')][_0x0f12('0x1a')](this));ami['on'](_0x0f12('0x1b'),this[_0x0f12('0x1c')][_0x0f12('0x1a')](this));ami['on'](_0x0f12('0x1d'),this[_0x0f12('0x1e')][_0x0f12('0x1a')](this));ami['on']('dialend',this[_0x0f12('0x1f')]['bind'](this));ami['on'](_0x0f12('0x20'),this[_0x0f12('0x21')][_0x0f12('0x1a')](this));ami['on'](_0x0f12('0x22'),this[_0x0f12('0x23')][_0x0f12('0x1a')](this));ami['on']('attendedtransfer',this[_0x0f12('0x24')]['bind'](this));ami['on'](_0x0f12('0x25'),this['syncBlindTransfer']['bind'](this));this[_0x0f12('0x26')](this[_0x0f12('0x13')]);}function emit(_0x46e682,_0x5e4af9,_0x10a325){io['to'](_0x46e682)['emit'](_0x5e4af9,_0x10a325);}function emitCampaignPreview(_0x26b2d7){if(_0x26b2d7['type']===_0x0f12('0x27')){var _0x379851={'id':_0x26b2d7['id'],'name':_0x26b2d7['name'],'strategy':_0x26b2d7[_0x0f12('0x28')],'answered':_0x26b2d7[_0x0f12('0x29')],'available':_0x26b2d7[_0x0f12('0x2a')],'loggedIn':_0x26b2d7[_0x0f12('0x2b')],'pTalking':_0x26b2d7[_0x0f12('0x2c')],'sumBillable':_0x26b2d7['sumBillable'],'sumDuration':_0x26b2d7[_0x0f12('0x2d')],'sumHoldTime':_0x26b2d7['sumHoldTime']||0x0,'talking':_0x26b2d7['talking'],'total':_0x26b2d7['total'],'type':_0x26b2d7[_0x0f12('0x2e')],'unmanaged':_0x26b2d7[_0x0f12('0x2f')],'abandoned':_0x26b2d7[_0x0f12('0x30')],'waiting':_0x26b2d7[_0x0f12('0x31')],'loggedInDb':_0x26b2d7['loggedInDb'],'dialActive':_0x26b2d7[_0x0f12('0x32')],'dialMethod':_0x26b2d7[_0x0f12('0x33')],'dialOriginateCallerIdName':_0x26b2d7[_0x0f12('0x34')],'dialOriginateCallerIdNumber':_0x26b2d7['dialOriginateCallerIdNumber'],'dialOriginateTimeout':_0x26b2d7[_0x0f12('0x35')],'dialPrefix':_0x26b2d7[_0x0f12('0x36')],'outboundAnswerAgiCallsDay':_0x26b2d7[_0x0f12('0x37')],'outboundAnswerCallsDay':_0x26b2d7['outboundAnswerCallsDay'],'outboundBlacklistCallsDay':_0x26b2d7[_0x0f12('0x38')],'outboundBusyCallsDay':_0x26b2d7[_0x0f12('0x39')],'outboundCongestionCallsDay':_0x26b2d7[_0x0f12('0x3a')],'outboundDropCallsDayACS':_0x26b2d7[_0x0f12('0x3b')],'outboundDropCallsDayCallersExit':_0x26b2d7[_0x0f12('0x3c')],'outboundDropCallsDayTimeout':_0x26b2d7['outboundDropCallsDayTimeout'],'outboundNoAnswerCallsDay':_0x26b2d7['outboundNoAnswerCallsDay'],'outboundNoSuchCallsDay':_0x26b2d7[_0x0f12('0x3d')],'outboundOriginateFailureCallsDay':_0x26b2d7['outboundOriginateFailureCallsDay'],'outboundReCallsDay':_0x26b2d7[_0x0f12('0x3e')],'outboundRejectCallsDay':_0x26b2d7[_0x0f12('0x3f')],'outboundUnknownCallsDay':_0x26b2d7[_0x0f12('0x40')],'outboundAbandonedCallsDay':_0x26b2d7['outboundAbandonedCallsDay'],'predictiveIntervalAnsweredCalls':_0x26b2d7[_0x0f12('0x41')],'predictiveIntervalAvgHoldtime':_0x26b2d7[_0x0f12('0x42')],'predictiveIntervalAvgTalktime':_0x26b2d7[_0x0f12('0x43')],'predictiveIntervalDroppedCallsCallersExit':_0x26b2d7[_0x0f12('0x44')],'predictiveIntervalDroppedCallsTimeout':_0x26b2d7[_0x0f12('0x45')],'predictiveIntervalErlangCalls':_0x26b2d7[_0x0f12('0x46')],'predictiveIntervalErlangCallsDroppedCalls':_0x26b2d7['predictiveIntervalErlangCallsDroppedCalls'],'predictiveIntervalHitRate':_0x26b2d7[_0x0f12('0x47')],'predictiveIntervalMultiplicativeFactor':_0x26b2d7[_0x0f12('0x48')],'predictiveIntervalPauses':_0x26b2d7[_0x0f12('0x49')],'predictiveIntervalAvailable':_0x26b2d7['predictiveIntervalAvailable'],'predictiveIntervalTotalCalls':_0x26b2d7[_0x0f12('0x4a')],'message':_0x26b2d7[_0x0f12('0x4b')],'originated':_0x26b2d7[_0x0f12('0x4c')],'erlangCalls':_0x26b2d7[_0x0f12('0x4d')],'erlangCallToSecond':_0x26b2d7['erlangCallToSecond'],'erlangAbandonmentRate':_0x26b2d7[_0x0f12('0x4e')],'erlangBusyFactor':_0x26b2d7[_0x0f12('0x4f')],'startPredictive':_0x26b2d7[_0x0f12('0x50')],'startProgressive':_0x26b2d7[_0x0f12('0x51')]};if(_0x26b2d7[_0x0f12('0x52')]){_0x379851[_0x0f12('0x52')]={'id':_0x26b2d7[_0x0f12('0x52')]['id'],'name':_0x26b2d7['Trunk'][_0x0f12('0x53')],'active':_0x26b2d7[_0x0f12('0x52')]['active'],'callerid':_0x26b2d7[_0x0f12('0x52')][_0x0f12('0x54')]};}if(_0x26b2d7['Interval']){_0x379851[_0x0f12('0x55')]={'id':_0x26b2d7[_0x0f12('0x55')]['id'],'name':_0x26b2d7['Interval'][_0x0f12('0x53')]};}var _0x5c4f38=md5(JSON[_0x0f12('0x56')](_0x379851));if(_0x26b2d7[_0x0f12('0x3')]!==_0x5c4f38){_0x26b2d7[_0x0f12('0x3')]=_0x5c4f38;emit(util[_0x0f12('0x57')](_0x0f12('0x58'),_0x379851[_0x0f12('0x53')]),_0x0f12('0x59'),_0x379851);}}}function emitVoiceQueueChannelRemove(_0x1d48a7){logger[_0x0f12('0x5a')](_0x0f12('0x5b'),JSON['stringify'](_0x1d48a7));emit(util[_0x0f12('0x57')](_0x0f12('0x58'),_0x1d48a7[_0x0f12('0x53')]),'voice_queue_channel:remove',_0x1d48a7);io['emit']('voice_queue_presence:remove',_0x1d48a7);}function notSendMessagesQueue(_0x21791c){if(_0x21791c[_0x0f12('0x5c')]){if(_0x21791c['originated']===0x0&&_0x21791c['pTalking']===0x0){_0x21791c[_0x0f12('0x5c')]=![];_0x21791c[_0x0f12('0x2a')]=0x0;_0x21791c[_0x0f12('0x5d')]=0x0;_0x21791c['message']=_0x0f12('0x5e');ut[_0x0f12('0x5f')]('[CampaignPreview]\x20Campaign\x20Queue:\x20',_0x21791c[_0x0f12('0x53')]+_0x0f12('0x60'));}else{_0x21791c[_0x0f12('0x4b')]=_0x0f12('0x61');ut[_0x0f12('0x5f')](_0x0f12('0x62'),_0x21791c[_0x0f12('0x53')]+'\x20is\x20disactive');}emitCampaignPreview(_0x21791c);}}Preview[_0x0f12('0xf')]['loopCampaigns']=function(){var _0x3fdcce=this;setInterval(function(){_0x3fdcce[_0x0f12('0x63')]();},0x7cf);};Preview['prototype'][_0x0f12('0x63')]=function(){var _0x2232ec=this[_0x0f12('0x13')];this['clockClearZombieChannels']+=0x1;for(var _0x5dfe38 in _0x2232ec){if(_0x2232ec[_0x0f12('0x64')](_0x5dfe38)&&(_0x2232ec[_0x5dfe38][_0x0f12('0x33')]===_0x0f12('0x6')||_0x2232ec[_0x5dfe38][_0x0f12('0x33')]==='booked')&&_0x2232ec[_0x5dfe38][_0x0f12('0x2e')]===_0x0f12('0x27')){if(this[_0x0f12('0x17')]>0x7){this[_0x0f12('0x17')]=0x0;this['clearZombieChannels']();}}if(_0x2232ec[_0x0f12('0x64')](_0x5dfe38)&&_0x2232ec[_0x5dfe38][_0x0f12('0x33')]==='preview'&&_0x2232ec[_0x5dfe38]['type']===_0x0f12('0x27')){if(_0x2232ec[_0x5dfe38][_0x0f12('0x32')]){this[_0x0f12('0x65')](_0x2232ec[_0x5dfe38]);this['recallMe'](_0x2232ec[_0x5dfe38]);}else{notSendMessagesQueue(_0x2232ec[_0x5dfe38]);}}}};Preview['prototype'][_0x0f12('0x66')]=function(_0x108ade){var _0x569c2f=this;this[_0x0f12('0x12')]['enqueue'](function(){if(!_[_0x0f12('0x67')](_0x569c2f[_0x0f12('0x15')][_0x108ade])){loggerAction['info']('[clearZombieChannels][talking]',_0x108ade,_0x0f12('0x68'),_0x569c2f[_0x0f12('0x15')][_0x108ade][_0x0f12('0x69')],_0x0f12('0x6a'),JSON[_0x0f12('0x56')](_0x569c2f[_0x0f12('0x13')][_0x569c2f[_0x0f12('0x15')][_0x108ade][_0x0f12('0x69')]]['originated']),_0x0f12('0x6b'),JSON['stringify'](_0x569c2f[_0x0f12('0x13')][_0x569c2f['actions'][_0x108ade]['queue']][_0x0f12('0x2c')]),JSON['stringify'](_0x569c2f[_0x0f12('0x15')][_0x108ade][_0x0f12('0x6c')]),JSON[_0x0f12('0x56')](_[_0x0f12('0x6d')](_0x569c2f['actions'][_0x108ade],[_0x0f12('0x6e'),_0x0f12('0x6f'),_0x0f12('0x70'),_0x0f12('0x71')])));return ami['Action']({'action':'status','channel':_0x569c2f[_0x0f12('0x15')][_0x108ade][_0x0f12('0x72')]})[_0x0f12('0x73')](function(_0x1f69cd){if(_0x1f69cd[_0x0f12('0x4b')]==='No\x20such\x20channel'){setTimeout(function(){if(_0x569c2f['actions'][_0x108ade]){ut['updateOriginated'](_0x569c2f[_0x0f12('0x13')][_0x569c2f[_0x0f12('0x15')][_0x108ade][_0x0f12('0x69')]],_0x0f12('0x74'));if(_0x569c2f[_0x0f12('0x15')][_0x108ade][_0x0f12('0x6c')]===!![]){ut[_0x0f12('0x75')](_0x569c2f[_0x0f12('0x13')][_0x569c2f[_0x0f12('0x15')][_0x108ade][_0x0f12('0x69')]],_0x0f12('0x74'));ut['loggerError'](_0x0f12('0x76')+_0x108ade,_0x569c2f[_0x0f12('0x15')][_0x108ade][_0x0f12('0x69')]);}ut[_0x0f12('0x77')]('[Dialer][checkChannel][Preview]'+_0x108ade,_0x569c2f['actions'][_0x108ade][_0x0f12('0x69')]);delete _0x569c2f[_0x0f12('0x15')][_0x108ade];}},0x2328);}});}});};Preview[_0x0f12('0xf')][_0x0f12('0x78')]=function(){var _0xff5bdf=this;loggerAction[_0x0f12('0x5a')](_0x0f12('0x79'),_[_0x0f12('0x7a')](this['actions']));for(var _0x204728 in this[_0x0f12('0x15')]){if(_0xff5bdf['actions'][_0x0f12('0x64')](_0x204728)){_0xff5bdf[_0x0f12('0x66')](_0x204728);}}};Preview[_0x0f12('0xf')]['recallMe']=function(_0x1ee8df){var _0x14b337=this;rpcDb[_0x0f12('0x7b')](_0x1ee8df['id'],ut[_0x0f12('0x7c')](this[_0x0f12('0x16')]))['then'](function(_0x1b4aa){if(!_['isNil'](_0x1b4aa)){for(var _0xc7ab2b=0x0;_0xc7ab2b<_0x1b4aa['length'];_0xc7ab2b+=0x1){if(ut[_0x0f12('0x7d')](_0x1b4aa[_0xc7ab2b][_0x0f12('0x7e')])<_0x1ee8df['dialRecallMeTimeout']*0x3c){if(_0x1b4aa[_0xc7ab2b][_0x0f12('0x7f')]&&!_0x1b4aa[_0xc7ab2b][_0x0f12('0x7f')]['voicePause']){_0x14b337[_0x0f12('0x80')](_0x1b4aa[_0xc7ab2b]['id'])['then'](ut[_0x0f12('0x81')]('[RecallMe]'))[_0x0f12('0x73')](ut[_0x0f12('0x81')](_0x0f12('0x82')));}else{rpcDb['disableContact'](_0x1b4aa[_0xc7ab2b]['id']);}}else{var _0x5f3bd9=new Action(_0x1b4aa[_0xc7ab2b],_0x1ee8df);_0x5f3bd9[_0x0f12('0x83')]=moment()[_0x0f12('0x57')]('YYYY-MM-DD\x20HH:mm:ss');_0x1ee8df[_0x0f12('0x3e')]+=0x1;ut[_0x0f12('0x84')](_0x5f3bd9,0x17,'RecallInQueue');if(_0x1ee8df[_0x0f12('0x85')]){rpcDb[_0x0f12('0x86')](ut['createBody'](_0x1b4aa[_0xc7ab2b]));rpcDb[_0x0f12('0x87')](_0x5f3bd9,_0x0f12('0x88'));}else{ut[_0x0f12('0x84')](_0x5f3bd9,0x16,_0x0f12('0x89'));rpcDb[_0x0f12('0x87')](_0x5f3bd9,_0x0f12('0x8a'));rpcDb[_0x0f12('0x8b')](_0x5f3bd9,_0x0f12('0x8a'));}}}}})[_0x0f12('0x73')](ut[_0x0f12('0x81')](_0x0f12('0x8c')));};Preview[_0x0f12('0xf')]['setMessage']=function(_0x10f7c3){_0x10f7c3[_0x0f12('0x5c')]=!![];if(ut[_0x0f12('0x8d')](_0x10f7c3[_0x0f12('0x2b')])){_0x10f7c3[_0x0f12('0x4b')]='AGENTS_NOT_LOGGED';}else if(!ut[_0x0f12('0x8e')](_0x10f7c3[_0x0f12('0x32')])){_0x10f7c3[_0x0f12('0x4b')]='NOT_ACTIVE';}else if(!this[_0x0f12('0x8f')](_0x10f7c3['Trunk'])){if(!this[_0x0f12('0x8f')](_0x10f7c3[_0x0f12('0x90')])){_0x10f7c3[_0x0f12('0x4b')]=_0x0f12('0x91');}else{_0x10f7c3['message']=_0x0f12('0x92');}}else{_0x10f7c3['message']=_0x0f12('0x92');}emitCampaignPreview(_0x10f7c3);};Preview[_0x0f12('0xf')]['callProgressDetectingCustomer']=function(_0xe3b035,_0x3da48a,_0x1f06c7){var _0x516ddb=this;var _0x9b9c76=this[_0x0f12('0x15')][_0x3da48a];var _0x521b65=this[_0x0f12('0x13')][_0x9b9c76[_0x0f12('0x69')]];var _0x456bf2;if(_0x521b65){switch(_0x1f06c7){case'1':_0x521b65[_0x0f12('0x3d')]+=0x1;_0x9b9c76[_0x0f12('0x93')]+=0x1;_0x9b9c76[_0x0f12('0x94')]=ut[_0x0f12('0x95')](_0x9b9c76);ut[_0x0f12('0x84')](_0x9b9c76,0x0,_0x0f12('0x96'));ami[_0x0f12('0x97')](_0x0f12('0x98'),ut['buildObj'](_0x9b9c76,_0x0f12('0x99')));rpcDb['createCustomerHistory'](_0x9b9c76,_0x0f12('0x9a'));if(ut[_0x0f12('0x95')](_0x9b9c76)>=_0x521b65[_0x0f12('0x9b')]){_0x456bf2=ut['cloneAction'](_0x9b9c76,0xf,_0x0f12('0x9c'));rpcDb[_0x0f12('0x8b')](_0x456bf2,_0x0f12('0x9d'));}else{if(_0x9b9c76[_0x0f12('0x93')]>=_0x521b65[_0x0f12('0x9e')]){rpcDb[_0x0f12('0x8b')](_0x9b9c76,_0x0f12('0x9d'));}else{rpcDb[_0x0f12('0x9f')](ut['scheduledAt'](_0x9b9c76,_0x0f12('0x93'),_0x521b65[_0x0f12('0xa0')]),_0x9b9c76[_0x0f12('0xa1')],_0x9b9c76[_0x0f12('0xa2')]);}}delete this[_0x0f12('0x15')][_0xe3b035[_0x0f12('0xa3')]];break;case _0x0f12('0xa4'):var _0x329210=moment()[_0x0f12('0x57')]('YYYY-MM-DD\x20HH:mm:ss');_0x9b9c76['responsetime']=_0x329210;_0x9b9c76[_0x0f12('0xa5')]=_0x329210;_0x9b9c76[_0x0f12('0x6c')]=!![];_0x521b65[_0x0f12('0x2c')]+=0x1;logger[_0x0f12('0x5a')]('[syncHangup][talking][increment]',_0x9b9c76[_0x0f12('0xa6')],_0x0f12('0xa7'),_0x521b65[_0x0f12('0x53')],'pTalking:\x20',_0x521b65[_0x0f12('0x2c')]);ami[_0x0f12('0x97')](_0x0f12('0xa8'),ut[_0x0f12('0xa9')](_0x9b9c76,_0x0f12('0xaa'),this[_0x0f12('0x13')][_0x9b9c76['queue']]));if(_0x521b65[_0x0f12('0xab')]){ami[_0x0f12('0x97')](_0x0f12('0xac'),ut['buildAcw'](_0x9b9c76));}break;case'16':ami[_0x0f12('0x97')](_0x0f12('0xad'),ut[_0x0f12('0xa9')](_0x9b9c76,_0x0f12('0xae'),this[_0x0f12('0x13')][_0x9b9c76[_0x0f12('0x69')]]));emitVoiceQueueChannelRemove(ut['buildObj'](_0x9b9c76,_0x0f12('0xae')));_0x521b65[_0x0f12('0xaf')]+=0x1;_0x521b65['total']+=0x1;_0x521b65[_0x0f12('0x29')]+=0x1;ut[_0x0f12('0x75')](_0x521b65,_0x0f12('0xb0'));_0x9b9c76[_0x0f12('0x94')]=ut[_0x0f12('0x95')](_0x9b9c76);ut[_0x0f12('0x84')](_0x9b9c76,0x4,_0x0f12('0xb1'));rpcDb[_0x0f12('0x87')](_0x9b9c76,'[callProgressDetectingCustomer][logAnswer]');rpcDb['createCustomerFinal'](_0x9b9c76,_0x0f12('0xb2'));rpcDb[_0x0f12('0xb3')](_0x9b9c76);_0x521b65[_0x0f12('0x2d')]+=_0x9b9c76[_0x0f12('0xb4')];_0x521b65['sumBillable']+=_0x9b9c76['talktime'];logger[_0x0f12('0x5a')](_0x0f12('0xb5'),_0x9b9c76['uniqueid'],_0x0f12('0xa7'),_0x521b65['name'],_0x0f12('0x6b'),_0x521b65[_0x0f12('0x2c')]);delete this[_0x0f12('0x15')][_0xe3b035[_0x0f12('0xa3')]];break;case _0x0f12('0xb6'):_0x521b65['outboundBusyCallsDay']+=0x1;_0x9b9c76['countbusyretry']+=0x1;_0x9b9c76[_0x0f12('0x94')]=ut[_0x0f12('0x95')](_0x9b9c76);ut['logCustomer'](_0x9b9c76,0x5,_0x0f12('0xb7'));ami[_0x0f12('0x97')](_0x0f12('0xb8'),ut[_0x0f12('0xa9')](_0x9b9c76,'busy'));rpcDb[_0x0f12('0x87')](_0x9b9c76,_0x0f12('0xb9'));if(ut[_0x0f12('0x95')](_0x9b9c76)>=_0x521b65[_0x0f12('0x9b')]){_0x456bf2=ut[_0x0f12('0xba')](_0x9b9c76,0xf,_0x0f12('0x9c'));rpcDb['createCustomerFinal'](_0x456bf2,_0x0f12('0xbb'));}else{if(_0x9b9c76[_0x0f12('0xbc')]>=_0x521b65[_0x0f12('0xbd')]){rpcDb['createCustomerFinal'](_0x9b9c76,'[callProgressDetectingCustomer][logBusy]');}else{rpcDb[_0x0f12('0x9f')](ut[_0x0f12('0xbe')](_0x9b9c76,_0x0f12('0xbc'),_0x521b65[_0x0f12('0xbf')]),_0x9b9c76[_0x0f12('0xa1')],_0x9b9c76[_0x0f12('0xa2')]);}}break;case _0x0f12('0xc0'):_0x521b65[_0x0f12('0xc1')]+=0x1;_0x9b9c76[_0x0f12('0xc2')]+=0x1;_0x9b9c76[_0x0f12('0x94')]=ut['totalGlobal'](_0x9b9c76);ut[_0x0f12('0x84')](_0x9b9c76,0x3,_0x0f12('0xc3'));ami[_0x0f12('0x97')](_0x0f12('0xc4'),ut[_0x0f12('0xa9')](_0x9b9c76,_0x0f12('0xc5')));rpcDb[_0x0f12('0x87')](_0x9b9c76,_0x0f12('0xc6'));if(ut[_0x0f12('0x95')](_0x9b9c76)>=_0x521b65['dialGlobalMaxRetry']){_0x456bf2=ut['cloneAction'](_0x9b9c76,0xf,_0x0f12('0x9c'));rpcDb[_0x0f12('0x8b')](_0x456bf2,_0x0f12('0xc7'));}else{if(_0x9b9c76[_0x0f12('0xc2')]>=_0x521b65[_0x0f12('0xc8')]){rpcDb['createCustomerFinal'](_0x9b9c76,_0x0f12('0xc6'));}else{rpcDb[_0x0f12('0x9f')](ut['scheduledAt'](_0x9b9c76,_0x0f12('0xc2'),_0x521b65[_0x0f12('0xc9')]),_0x9b9c76[_0x0f12('0xa1')],_0x9b9c76[_0x0f12('0xa2')]);}}break;case _0x0f12('0xca'):_0x521b65[_0x0f12('0x3a')]+=0x1;_0x9b9c76[_0x0f12('0xcb')]+=0x1;_0x9b9c76['countglobal']=ut[_0x0f12('0x95')](_0x9b9c76);ut['logCustomer'](_0x9b9c76,0x8,'Congestion');ami[_0x0f12('0x97')](_0x0f12('0xcc'),ut[_0x0f12('0xa9')](_0x9b9c76,_0x0f12('0xcd')));rpcDb[_0x0f12('0x87')](_0x9b9c76,'[callProgressDetectingCustomer][logCongestion]');if(ut[_0x0f12('0x95')](_0x9b9c76)>=_0x521b65[_0x0f12('0x9b')]){_0x456bf2=ut['cloneAction'](_0x9b9c76,0xf,_0x0f12('0x9c'));rpcDb['createCustomerFinal'](_0x456bf2,'[callProgressDetectingCustomer][logCongestionGlobal]');}else{if(_0x9b9c76[_0x0f12('0xcb')]>=_0x521b65[_0x0f12('0xce')]){rpcDb[_0x0f12('0x8b')](_0x9b9c76,_0x0f12('0xcf'));}else{rpcDb[_0x0f12('0x9f')](ut['scheduledAt'](_0x9b9c76,_0x0f12('0xcb'),_0x521b65[_0x0f12('0xbf')]),_0x9b9c76[_0x0f12('0xa1')],_0x9b9c76[_0x0f12('0xa2')]);}}break;case'CANCEL':_0x521b65['outboundRejectCallsDay']+=0x1;_0x9b9c76[_0x0f12('0xd0')]+=0x1;_0x9b9c76['countglobal']=ut[_0x0f12('0x95')](_0x9b9c76);ut[_0x0f12('0x84')](_0x9b9c76,0x14,'AgentReject');ami[_0x0f12('0x97')](_0x0f12('0xd1'),ut[_0x0f12('0xa9')](_0x9b9c76,'agentreject'));rpcDb[_0x0f12('0x87')](_0x9b9c76,_0x0f12('0xd2'));if(ut[_0x0f12('0x95')](_0x9b9c76)>=_0x521b65[_0x0f12('0x9b')]){_0x456bf2=ut['cloneAction'](_0x9b9c76,0x14,_0x0f12('0xd3'));rpcDb[_0x0f12('0x8b')](_0x456bf2,_0x0f12('0xd4'));}else{if(_0x9b9c76[_0x0f12('0xd0')]>=_0x521b65[_0x0f12('0xd5')]){rpcDb[_0x0f12('0x8b')](_0x9b9c76,_0x0f12('0xd4'));}else{rpcDb[_0x0f12('0x9f')](ut[_0x0f12('0xbe')](_0x9b9c76,_0x0f12('0xd0'),_0x521b65[_0x0f12('0xd6')]),_0x9b9c76[_0x0f12('0xa1')],_0x9b9c76['activeContact']);}}break;case _0x0f12('0xd7'):_0x521b65[_0x0f12('0xd8')]+=0x1;_0x9b9c76[_0x0f12('0xd9')]+=0x1;_0x9b9c76[_0x0f12('0x94')]=ut[_0x0f12('0x95')](_0x9b9c76);ut[_0x0f12('0x84')](_0x9b9c76,0xb,'Abandoned');rpcDb[_0x0f12('0x87')](_0x9b9c76,'[callProgressDetectingCustomer][logAbandoned]');if(ut[_0x0f12('0x95')](_0x9b9c76)>=_0x521b65[_0x0f12('0x9b')]){_0x456bf2=ut['cloneAction'](_0x9b9c76,0xf,_0x0f12('0x9c'));rpcDb[_0x0f12('0x8b')](_0x456bf2,_0x0f12('0xda'));}else{if(_0x9b9c76['countabandonedetry']>=_0x521b65[_0x0f12('0xdb')]){rpcDb[_0x0f12('0x8b')](_0x9b9c76,_0x0f12('0xda'));}else{rpcDb[_0x0f12('0x9f')](ut[_0x0f12('0xbe')](_0x9b9c76,_0x0f12('0xd9'),_0x521b65[_0x0f12('0xdc')]),_0x9b9c76[_0x0f12('0xa1')],_0x9b9c76[_0x0f12('0xa2')]);}}break;case'18':_0x521b65[_0x0f12('0x40')]+=0x1;_0x9b9c76[_0x0f12('0xdd')]+=0x1;_0x9b9c76[_0x0f12('0x94')]=ut[_0x0f12('0x95')](_0x9b9c76);ut[_0x0f12('0x84')](_0x9b9c76,0x12,_0xe3b035[_0x0f12('0xde')]||_0xe3b035[_0x0f12('0xdf')]);ami['emit']('custom:amd',ut[_0x0f12('0xa9')](_0x9b9c76,_0x0f12('0xe0')));rpcDb[_0x0f12('0x87')](_0x9b9c76,'[callProgressDetectingCustomer][hangupInAMD]');if(ut[_0x0f12('0x95')](_0x9b9c76)>=_0x521b65[_0x0f12('0x9b')]){_0x456bf2=ut[_0x0f12('0xba')](_0x9b9c76,0xf,'Global');rpcDb[_0x0f12('0x8b')](_0x456bf2,_0x0f12('0xe1'));}else{rpcDb['createCustomerFinal'](_0x9b9c76,_0x0f12('0xe1'));}delete this[_0x0f12('0x15')][_0xe3b035['linkedid']];break;case'19':_0x521b65['outboundUnknownCallsDay']+=0x1;_0x9b9c76[_0x0f12('0x94')]=ut[_0x0f12('0x95')](_0x9b9c76);ut['logCustomer'](_0x9b9c76,0x13,_0xe3b035[_0x0f12('0xde')]||_0xe3b035['dialstatus']);ami[_0x0f12('0x97')](_0x0f12('0xe2'),ut[_0x0f12('0xa9')](_0x9b9c76,_0x0f12('0xe0')));rpcDb[_0x0f12('0x87')](_0x9b9c76,_0x0f12('0xe3'));if(ut[_0x0f12('0x95')](_0x9b9c76)>=_0x521b65['dialGlobalMaxRetry']){_0x456bf2=ut[_0x0f12('0xba')](_0x9b9c76,0xf,_0x0f12('0x9c'));rpcDb['createCustomerFinal'](_0x456bf2,_0x0f12('0xe3'));}else{rpcDb[_0x0f12('0x8b')](_0x9b9c76,_0x0f12('0xe3'));}delete this[_0x0f12('0x15')][_0xe3b035[_0x0f12('0xa3')]];break;default:if(_0x9b9c76[_0x0f12('0x6c')]){ut['decrementTalkink'](_0x521b65,_0x0f12('0xe4'));ut['loggerError'](_0x0f12('0xe5')+_0x521b65[_0x0f12('0x53')],_0xe3b035);}_0x521b65['outboundUnknownCallsDay']+=0x1;_0x9b9c76[_0x0f12('0x94')]=ut['totalGlobal'](_0x9b9c76);ut[_0x0f12('0x84')](_0x9b9c76,0xc,_0xe3b035[_0x0f12('0xde')]||_0xe3b035[_0x0f12('0xdf')]);rpcDb[_0x0f12('0x87')](_0x9b9c76,_0x0f12('0xe6'));if(ut[_0x0f12('0x95')](_0x9b9c76)>=_0x521b65[_0x0f12('0x9b')]){_0x456bf2=ut[_0x0f12('0xba')](_0x9b9c76,0xf,'Global');rpcDb[_0x0f12('0x8b')](_0x456bf2,'[callProgressDetectingCustomer][logUnknownGlobal]');}else{rpcDb['createCustomerFinal'](_0x9b9c76,_0x0f12('0xe7'));}delete this[_0x0f12('0x15')][_0xe3b035[_0x0f12('0xa3')]];}if(!(_0x9b9c76['dialAnswer']&&_0x1f06c7==='16')){ut[_0x0f12('0xe8')](_0x521b65,_0x0f12('0xe9'));logger[_0x0f12('0x5a')](_0x0f12('0xea'),_0x9b9c76[_0x0f12('0xa6')],_0x0f12('0xa7'),_0x521b65['name'],_0x0f12('0x6a'),_0x521b65['originated']);}if(_0x1f06c7!=='ANSWER'){delete this[_0x0f12('0x15')][_0xe3b035[_0x0f12('0xa3')]];delete this['actions'][_0xe3b035[_0x0f12('0xeb')]];}}};Preview['prototype'][_0x0f12('0xec')]=function(_0x514e5d,_0x520d15,_0x1753fb){if(_['isUndefined'](_0x520d15)&&_0x0f12('0xed')!==typeof _0x520d15){return;}if(_[_0x0f12('0xee')](_0x1753fb)&&_0x0f12('0xed')!==typeof _0x1753fb){return;}switch(_0x1753fb[_0x0f12('0xef')]){case'0':ut[_0x0f12('0xf0')](_0x514e5d,0x0,_0x0f12('0x96'));rpcDb[_0x0f12('0xf1')](_0x514e5d,'[callProgressDetectingAgent][logNoSuch]');break;case'3':ut[_0x0f12('0xf0')](_0x514e5d,0x3,'NoAnswer');rpcDb[_0x0f12('0xf1')](_0x514e5d,_0x0f12('0xf2'));break;case'5':ut[_0x0f12('0xf0')](_0x514e5d,0x5,_0x0f12('0xb7'));rpcDb[_0x0f12('0xf1')](_0x514e5d,_0x0f12('0xf3'));break;case'8':ut[_0x0f12('0xf0')](_0x514e5d,0x8,_0x0f12('0xf4'));rpcDb[_0x0f12('0xf1')](_0x514e5d,'[callProgressDetectingAgent][logCongestion]');break;case'22':ut['logAgent'](_0x514e5d,0x16,_0x0f12('0xf5'));rpcDb[_0x0f12('0xf1')](_0x514e5d,_0x0f12('0xf6'));break;default:ut['logAgent'](_0x514e5d,0xc,_0x1753fb[_0x0f12('0xef')]);rpcDb['createAgentHistory'](_0x514e5d,'[callProgressDetectingAgent][logCongestion]');}ut[_0x0f12('0xe8')](_0x520d15,'[callProgressDetectingAgent]');logger[_0x0f12('0x5a')](_0x0f12('0xf7'),_0x514e5d['uniqueid'],_0x0f12('0xa7'),_0x520d15[_0x0f12('0x53')],'originated:\x20',_0x520d15['originated']);delete this['actions'][_0x514e5d[_0x0f12('0xa6')]];};Preview['prototype']['checkInBlack']=function(_0x9a8343,_0x3bd226,_0x5273c5,_0x18d3c0,_0x32e1bb){var _0x3fecc7=this;return new BPromise(function(_0x1aba9f,_0x119be2){if(_[_0x0f12('0x67')](_0x3bd226)||_['isNil'](_0x3bd226[_0x0f12('0xf8')])||_[_0x0f12('0x67')](_0x3bd226[_0x0f12('0xf8')][_0x0f12('0xf9')])||_[_0x0f12('0x67')](_0x3bd226[_0x0f12('0x70')])){_0x119be2(ut[_0x0f12('0x4b')]('Contact\x20is\x20undefined',_0x18d3c0,_0x32e1bb));return;}var _0x2572cd=uuid['v4']();var _0x4ed4f9=_0x3fecc7[_0x0f12('0x13')][_0x3bd226[_0x0f12('0x68')][_0x0f12('0x53')]];var _0x51952a=_0x5273c5?_0x3fecc7[_0x0f12('0x16')][_0x5273c5]['id']:undefined;_0x3fecc7[_0x0f12('0x15')][_0x2572cd]=new Action(_0x3bd226,_0x4ed4f9,_0x2572cd,_0x5273c5,_0x51952a);var _0xa4e9cf=_0x3fecc7[_0x0f12('0x15')][_0x2572cd];_0xa4e9cf[_0x0f12('0xa1')]=_0x18d3c0;_0xa4e9cf[_0x0f12('0xa2')]=_0x32e1bb;_0xa4e9cf['lookAgent']=_0x5273c5;if(_['isEmpty'](_0x9a8343)){_0x3fecc7[_0x0f12('0xfa')](_0xa4e9cf,_0x4ed4f9,_0x3bd226,_0x5273c5)['then'](function(_0xcd171b){logger['info']('[Preview][execCall][success]',_0x0f12('0xfb')+_0xa4e9cf['queue']+_0x0f12('0xfc')+_0xa4e9cf['idContact'],JSON[_0x0f12('0x56')](_0xcd171b));ami[_0x0f12('0x97')](_0x0f12('0xfd'),ut[_0x0f12('0xa9')](_0xa4e9cf,_0x0f12('0xfe'),_0x3fecc7[_0x0f12('0x13')][_0xa4e9cf[_0x0f12('0x69')]]));_0x1aba9f(ut[_0x0f12('0x4b')](_0x0f12('0xff')));})[_0x0f12('0x73')](function(_0x4219d7){ut[_0x0f12('0x5f')](_0x0f12('0x100'),_0x4219d7);_0x119be2(ut[_0x0f12('0x4b')](_0x0f12('0x101'),_0x18d3c0,_0x32e1bb));});}else{_0x4ed4f9[_0x0f12('0x38')]+=0x1;ut[_0x0f12('0x102')](_0xa4e9cf);rpcDb[_0x0f12('0x103')](_0xa4e9cf,_0x0f12('0x104'));delete _0x3fecc7[_0x0f12('0x15')][_0x2572cd];_0x119be2(ut[_0x0f12('0x4b')](_0x0f12('0x105'),_0x18d3c0,_0x32e1bb));}});};Preview[_0x0f12('0xf')]['isTrunkReachable']=function(_0x1d888c){return!_['isNil'](_0x1d888c)&&!_[_0x0f12('0x67')](_0x1d888c['name'])&&!_[_0x0f12('0x67')](_0x1d888c[_0x0f12('0x106')])&&_0x1d888c[_0x0f12('0x106')]&&!_[_0x0f12('0x67')](this[_0x0f12('0x14')][util[_0x0f12('0x57')](_0x0f12('0x107'),_0x1d888c['name'])])&&!_[_0x0f12('0x67')](this['trunks'][util[_0x0f12('0x57')](_0x0f12('0x107'),_0x1d888c[_0x0f12('0x53')])][_0x0f12('0x108')])&&(this[_0x0f12('0x14')][util['format']('SIP/%s',_0x1d888c[_0x0f12('0x53')])][_0x0f12('0x108')]===_0x0f12('0x109')||this['trunks'][util['format'](_0x0f12('0x107'),_0x1d888c['name'])][_0x0f12('0x108')]===_0x0f12('0x10a'));};Preview[_0x0f12('0xf')]['run']=function(_0x4f5955,_0x10526b){var _0x72bb6d=this;return new BPromise(function(_0x35af80,_0x1f932b){_0x72bb6d['execRun'](_0x4f5955,_0x10526b)[_0x0f12('0x10b')](function(_0x272375){_0x35af80(_['pick'](_0x272375,['message']));})[_0x0f12('0x73')](function(_0x2fdb53){if(_0x2fdb53[_0x0f12('0x10c')]){rpcDb['unlockContact'](_0x4f5955);}if(_0x2fdb53[_0x0f12('0x106')]){rpcDb[_0x0f12('0x10d')](_0x4f5955);}_0x1f932b(_[_0x0f12('0x6d')](_0x2fdb53,[_0x0f12('0x4b')]));});});};Preview[_0x0f12('0xf')][_0x0f12('0x10e')]=function(_0x1793ad,_0x266365){var _0xfbebfc=this;return new BPromise(function(_0x82cf7c,_0x29f284){var _0x26b179,_0x52578a;rpcDb['getContactPreview'](_0x1793ad)['then'](function(_0x5b26ae){if(!_['isNil'](_0x5b26ae[0x0])){_0x52578a=_0x5b26ae[0x0][_0x0f12('0x10f')]?![]:!![];_0x26b179=_0x5b26ae[0x0]['recallme']?!![]:![];_0x26b179=_0x266365?!![]:_0x26b179;}var _0x3df022=_0xfbebfc['validateContact'](_0x5b26ae);if(_0x3df022[_0x0f12('0x110')]){rpcDb['checkIsBlackList'](_['pick'](_0x5b26ae[0x0],[_0x0f12('0x70'),'Contact.phone']))['then'](function(_0x1eadc3){_0xfbebfc['checkInBlack'](_0x1eadc3,_0x5b26ae[0x0],_0x266365,_0x52578a,_0x26b179)[_0x0f12('0x10b')](function(_0x2765e4){_0x82cf7c(_0x2765e4);})[_0x0f12('0x73')](function(_0x28141e){_0x29f284(_0x28141e);});})['catch'](function(_0x327fe1){ut['logger'](_0x0f12('0x111'),_0x327fe1);_0x29f284(ut[_0x0f12('0x4b')]('Call\x20unsuccessful',_0x52578a,_0x26b179));});}else{_0x29f284(ut[_0x0f12('0x4b')](_0x3df022[_0x0f12('0x4b')],_0x52578a,_0x26b179));}})[_0x0f12('0x73')](function(_0x3a88e7){ut['logger'](_0x0f12('0x112'),_0x3a88e7);_0x29f284(ut[_0x0f12('0x4b')](_0x0f12('0x113'),![],!![]));});});};Preview[_0x0f12('0xf')]['validateContact']=function(_0x25f94d){if(_[_0x0f12('0x67')](_0x25f94d)||_[_0x0f12('0x114')](_0x25f94d)||!_[_0x0f12('0x67')](_0x25f94d[0x0][_0x0f12('0x7f')])&&_[_0x0f12('0x67')](_0x25f94d[0x0][_0x0f12('0x7f')][_0x0f12('0x53')])){ut[_0x0f12('0x5f')](_0x0f12('0x115'),_0x25f94d);return{'isValid':![],'message':'Empty\x20Contact'};}var _0x3a722b=this[_0x0f12('0x13')][_0x25f94d[0x0][_0x0f12('0x68')][_0x0f12('0x53')]];_0x3a722b['message']='ACTIVE';if(_[_0x0f12('0x67')](_0x3a722b)){ut[_0x0f12('0x5f')](_0x0f12('0x116'),_0x3a722b);return{'isValid':![],'message':_0x0f12('0x117')};}if(!this[_0x0f12('0x8f')](_0x3a722b[_0x0f12('0x52')])){ut[_0x0f12('0x5f')](_0x0f12('0x118'),_0x0f12('0x119')+_0x3a722b[_0x0f12('0x53')]+_0x0f12('0x11a'));if(!this[_0x0f12('0x8f')](_0x3a722b[_0x0f12('0x90')])){ut[_0x0f12('0x5f')](_0x0f12('0x118'),_0x3a722b['name']+'\x20Trunk\x20Backup\x20is\x20not\x20active');return{'isValid':![],'message':'Trunk\x20not\x20work'};}}if(!ut[_0x0f12('0x8e')](_0x3a722b[_0x0f12('0x32')])){ut[_0x0f12('0x5f')]('[Preview][validateContact][Campaign\x20Active]',_0x3a722b[_0x0f12('0x53')]+_0x0f12('0x11b'));return{'isValid':![],'message':_0x0f12('0x119')+_0x3a722b[_0x0f12('0x53')]+'\x20Not\x20Active'};}return{'isValid':!![],'message':_0x0f12('0x11c')};};Preview[_0x0f12('0xf')][_0x0f12('0xfa')]=function(_0x4739a1,_0x3f2d04,_0x517eaf,_0x403286){var _0x501abe=this;return new BPromise(function(_0x26fe5d,_0x3b0897){var _0x599c57=_0x4739a1[_0x0f12('0xa6')];var _0xa203b3=_0x501abe[_0x0f12('0x8f')](_0x3f2d04[_0x0f12('0x52')])?util[_0x0f12('0x57')](_0x0f12('0x11d'),_0x3f2d04[_0x0f12('0x52')]['name'],_[_0x0f12('0x67')](_0x3f2d04[_0x0f12('0x36')])?'':_0x3f2d04[_0x0f12('0x36')][_0x0f12('0x11e')]()||'',_0x3f2d04['dialCutDigit']>0x0?_0x517eaf['Contact'][_0x0f12('0xf9')][_0x0f12('0x11f')](_0x3f2d04[_0x0f12('0x120')]):_0x517eaf[_0x0f12('0xf8')][_0x0f12('0xf9')]):util[_0x0f12('0x57')](_0x0f12('0x11d'),_['isNil'](_0x3f2d04['TrunkBackup'])?_0x3f2d04[_0x0f12('0x52')][_0x0f12('0x53')]:_0x3f2d04[_0x0f12('0x90')][_0x0f12('0x53')],_[_0x0f12('0x67')](_0x3f2d04['dialPrefix'])?'':_0x3f2d04['dialPrefix'][_0x0f12('0x11e')]()||'',_0x3f2d04['dialCutDigit']>0x0?_0x517eaf[_0x0f12('0xf8')][_0x0f12('0xf9')][_0x0f12('0x11f')](_0x3f2d04[_0x0f12('0x120')]):_0x517eaf['Contact'][_0x0f12('0xf9')]);var _0x4416ec=_0x501abe[_0x0f12('0x8f')](_0x3f2d04['Trunk'])?ut[_0x0f12('0x121')](_0x3f2d04[_0x0f12('0x52')][_0x0f12('0x54')],_0x3f2d04[_0x0f12('0x34')],_0x3f2d04[_0x0f12('0x122')]>0x0?ut[_0x0f12('0x123')](_0x3f2d04[_0x0f12('0x124')],_0x3f2d04['dialRandomLastDigitCallerIdNumber']):_0x3f2d04[_0x0f12('0x124')]):ut['getCallerId'](_[_0x0f12('0x67')](_0x3f2d04['TrunkBackup'])?_0x3f2d04[_0x0f12('0x52')][_0x0f12('0x54')]:_0x3f2d04[_0x0f12('0x90')][_0x0f12('0x54')],_0x3f2d04[_0x0f12('0x34')],_0x3f2d04[_0x0f12('0x122')]>0x0?ut[_0x0f12('0x123')](_0x3f2d04['dialOriginateCallerIdNumber'],_0x3f2d04[_0x0f12('0x122')]):_0x3f2d04[_0x0f12('0x124')]);if(_0x4416ec){_0x4739a1['originatecalleridname']=ut[_0x0f12('0x125')](_0x4416ec);_0x4739a1[_0x0f12('0x126')]=ut[_0x0f12('0x127')](_0x4416ec);}var _0x422dfc=ut[_0x0f12('0x128')](_0x3f2d04,_0x517eaf,_0xa203b3,_0x4416ec,_0x599c57,_0x4739a1);_['merge'](_0x4739a1,ut['toLowerVariables'](_0x422dfc));_0x4739a1[_0x0f12('0x83')]=moment()[_0x0f12('0x57')](_0x0f12('0x129'));ami[_0x0f12('0x12a')](ut[_0x0f12('0x12b')](_0x4739a1,_0x3f2d04,_0x422dfc,_0x4739a1[_0x0f12('0xa2')],_0x403286))[_0x0f12('0x10b')](function(_0x189f03){_0x3f2d04[_0x0f12('0x4c')]+=0x1;logger['info']('[originated][increment]',_0x599c57,_0x0f12('0xa7'),_0x3f2d04[_0x0f12('0x53')],_0x0f12('0x6a'),_0x3f2d04[_0x0f12('0x4c')]);_0x26fe5d(_0x189f03);})['catch'](function(_0x31d306){ut[_0x0f12('0xf0')](_0x4739a1,0xe,_0x0f12('0x12c'));rpcDb[_0x0f12('0xf1')](_0x4739a1,_0x0f12('0x12d'));_0x3b0897(_0x31d306);});});};Preview[_0x0f12('0xf')][_0x0f12('0x21')]=function(_0x3e50bc){if(this[_0x0f12('0x15')][_0x3e50bc[_0x0f12('0xa3')]]){this['actions'][_0x3e50bc['linkedid']]['channel']=_0x3e50bc[_0x0f12('0x72')];}};Preview[_0x0f12('0xf')][_0x0f12('0x19')]=function(_0x1a2c7a){var _0xd153a9=this;var _0x305738=this[_0x0f12('0x15')][_0x1a2c7a['actionid']];if(_0x305738){if(_0x305738['lookAgent']&&this['agents'][_0x305738[_0x0f12('0x12e')]]){ut[_0x0f12('0x12f')](_0x305738,this[_0x0f12('0x16')][_0x305738[_0x0f12('0x12e')]][_0x0f12('0x53')],this[_0x0f12('0x16')][_0x305738[_0x0f12('0x12e')]]['id']);}var _0x2c6ac8=_[_0x0f12('0x130')](_0x305738);_0x2c6ac8[_0x0f12('0x131')]=moment()['format'](_0x0f12('0x129'));var _0x1b063c=_0xd153a9[_0x0f12('0x13')][_0x305738['queue']];if(ut[_0x0f12('0x132')](_0x1a2c7a[_0x0f12('0x133')])){if(_0x305738['unlockAgent']){rpcDb[_0x0f12('0x134')](_0x305738[_0x0f12('0x135')]);}if(_0x305738[_0x0f12('0xa2')]){rpcDb[_0x0f12('0x10d')](_0x305738[_0x0f12('0x135')]);}ami[_0x0f12('0x97')]('custom:agentringnoanswer',ut[_0x0f12('0xa9')](_0x305738,'rejected',this[_0x0f12('0x13')][_0x305738[_0x0f12('0x69')]]));this[_0x0f12('0xec')](_0x2c6ac8,_0x1b063c,_0x1a2c7a);}else{_0x305738['starttime']=moment()[_0x0f12('0x57')](_0x0f12('0x129'));ut[_0x0f12('0xf0')](_0x2c6ac8,0x4,_0x0f12('0xb1'));rpcDb[_0x0f12('0xf1')](_0x2c6ac8,_0x0f12('0x136'));}}};Preview[_0x0f12('0xf')][_0x0f12('0x1c')]=function(_0x2fa8f3){var _0x3a7c4f=this;var _0x3b08a0=this[_0x0f12('0x15')][_0x2fa8f3[_0x0f12('0xa3')]];var _0x340655;if(_0x3b08a0){_0x340655=this[_0x0f12('0x13')][_0x3b08a0['queue']];logger[_0x0f12('0x5a')](_0x0f12('0x137'),_0x2fa8f3[_0x0f12('0xa3')],_0x0f12('0xa7'),_0x340655[_0x0f12('0x53')],_0x0f12('0x6b'),_0x340655[_0x0f12('0x2c')]);}if(this[_0x0f12('0x15')][_0x2fa8f3[_0x0f12('0xa3')]]&&_0x2fa8f3[_0x0f12('0xa3')]!==_0x2fa8f3[_0x0f12('0xa6')]){if(_0x2fa8f3[_0x0f12('0x138')]==='16'&&this[_0x0f12('0x15')][_0x2fa8f3['linkedid']][_0x0f12('0x6c')]){this[_0x0f12('0x139')](_0x2fa8f3,_0x2fa8f3[_0x0f12('0xa3')],_0x2fa8f3[_0x0f12('0x138')]);}else if(this[_0x0f12('0x15')][_0x2fa8f3[_0x0f12('0xa3')]]['dialAnswer']){logger['info']('[syncHangup][talking][cause]',_0x2fa8f3[_0x0f12('0xa3')],_0x2fa8f3['cause'],_0x0f12('0xa7'),_0x340655['name'],_0x0f12('0x6b'),_0x340655[_0x0f12('0x2c')]);this[_0x0f12('0x139')](_0x2fa8f3,_0x2fa8f3['linkedid'],_0x2fa8f3[_0x0f12('0x138')]);}}else if(_0x3b08a0&&_[_0x0f12('0x67')](_0x3b08a0[_0x0f12('0x13a')])&&_0x340655[_0x0f12('0x13b')]&&_0x2fa8f3['linkedid']===_0x2fa8f3[_0x0f12('0xa6')]&&_[_0x0f12('0x67')](_0x2fa8f3[_0x0f12('0xef')])&&_0x2fa8f3[_0x0f12('0x138')]==='16'&&_0x2fa8f3[_0x0f12('0x13c')]==='6'&&_[_0x0f12('0xee')](_0x3b08a0[_0x0f12('0x13d')])){if(_0x3b08a0[_0x0f12('0xa1')]){rpcDb[_0x0f12('0x134')](_0x3b08a0[_0x0f12('0x135')]);}if(_0x3b08a0[_0x0f12('0xa2')]){rpcDb[_0x0f12('0x10d')](_0x3b08a0['idContact']);}_0x2fa8f3['reason']='22';this['callProgressDetectingAgent'](_0x3b08a0,_0x340655,_0x2fa8f3);}else if(_0x3b08a0&&_0x3b08a0['transfer']){if(_0x2fa8f3[_0x0f12('0x138')]==='16'&&this[_0x0f12('0x15')][_0x2fa8f3[_0x0f12('0xa3')]]['dialAnswer']){logger[_0x0f12('0x5a')](_0x0f12('0x13e'),_0x2fa8f3[_0x0f12('0xa3')],_0x2fa8f3[_0x0f12('0x138')],_0x0f12('0xa7'),_0x340655[_0x0f12('0x53')],'pTalking:\x20',_0x340655[_0x0f12('0x2c')]);this[_0x0f12('0x139')](_0x2fa8f3,_0x2fa8f3['linkedid'],_0x2fa8f3[_0x0f12('0x138')]);}else if(this[_0x0f12('0x15')][_0x2fa8f3[_0x0f12('0xa3')]][_0x0f12('0x6c')]){logger[_0x0f12('0x5a')](_0x0f12('0x13f'),_0x2fa8f3[_0x0f12('0xa3')],_0x2fa8f3[_0x0f12('0x138')],_0x0f12('0xa7'),_0x340655[_0x0f12('0x53')],_0x0f12('0x6b'),_0x340655[_0x0f12('0x2c')]);this[_0x0f12('0x139')](_0x2fa8f3,_0x2fa8f3['linkedid'],_0x2fa8f3[_0x0f12('0x138')]);}}};Preview['prototype'][_0x0f12('0x1f')]=function(_0x18f83a){if(this[_0x0f12('0x15')][_0x18f83a[_0x0f12('0xeb')]]&&_0x18f83a[_0x0f12('0xeb')]!==_0x18f83a[_0x0f12('0x140')]){this[_0x0f12('0x139')](_0x18f83a,_0x18f83a[_0x0f12('0xeb')],_0x18f83a['dialstatus']);}};Preview['prototype'][_0x0f12('0x1e')]=function(_0x54de11){if(this[_0x0f12('0x15')][_0x54de11['linkedid']]&&_0x54de11[_0x0f12('0xa3')]!==_0x54de11[_0x0f12('0xa6')]&&!this[_0x0f12('0x15')][_0x54de11[_0x0f12('0xa3')]][_0x0f12('0x6c')]){if(_0x54de11[_0x0f12('0x138')]==='1'){this['callProgressDetectingCustomer'](_0x54de11,_0x54de11[_0x0f12('0xa3')],_0x54de11[_0x0f12('0x138')]);}}};Preview[_0x0f12('0xf')][_0x0f12('0x141')]=function(_0x2aec05,_0x5312b6,_0x30deef){if(this[_0x0f12('0x15')][_0x2aec05]){if(_[_0x0f12('0x67')](this[_0x0f12('0x15')][_0x2aec05]['variables'])){this[_0x0f12('0x15')][_0x2aec05][_0x0f12('0x142')]={};}this[_0x0f12('0x15')][_0x2aec05][_0x0f12('0x142')][_0x5312b6]=_0x30deef;}};Preview[_0x0f12('0xf')][_0x0f12('0x23')]=function(_0x1dee61){try{if(!_[_0x0f12('0x67')](_0x1dee61)){if(ut[_0x0f12('0x143')](_[_0x0f12('0x144')](_0x1dee61[_0x0f12('0x145')])[0x0])){this['addVariable'](_0x1dee61[_0x0f12('0xa6')],_[_0x0f12('0x144')](_0x1dee61[_0x0f12('0x145')])[0x0],_0x1dee61[_0x0f12('0x146')]);}}}catch(_0x5c6ebf){logger[_0x0f12('0x147')](_0x0f12('0x148'),util[_0x0f12('0x149')](_0x5c6ebf,{'showHidden':![],'depth':null}));}};Preview[_0x0f12('0xf')][_0x0f12('0x24')]=function(_0x381985){if(_0x381985){if(this[_0x0f12('0x15')][_0x381985['transfertargetlinkedid']]){this['actions'][_0x381985[_0x0f12('0x14a')]][_0x0f12('0x13d')]=!![];}}};Preview['prototype'][_0x0f12('0x14b')]=function(_0x208614){if(_0x208614){if(this[_0x0f12('0x15')][_0x208614[_0x0f12('0x14c')]]){this[_0x0f12('0x15')][_0x208614[_0x0f12('0x14c')]][_0x0f12('0x13d')]=!![];}}};module[_0x0f12('0x14d')]=Preview;