836793394652bab57ea73bb9a2a4218320bea634
[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 _0xca9e=['syncHangup','bind','hanguprequest','dialend','syncDialEnd','newexten','syncNewExten','attendedtransfer','syncAttendedTransfer','blindtransfer','loopCampaigns','emit','outbound','name','strategy','answered','loggedIn','pTalking','sumDuration','sumHoldTime','talking','total','unmanaged','waiting','loggedInDb','dialActive','dialMethod','dialOriginateCallerIdName','dialOriginateCallerIdNumber','dialOriginateTimeout','dialPrefix','outboundAnswerAgiCallsDay','outboundAnswerCallsDay','outboundBlacklistCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundDropCallsDayACS','outboundDropCallsDayCallersExit','outboundOriginateFailureCallsDay','outboundRejectCallsDay','outboundUnknownCallsDay','outboundAbandonedCallsDay','predictiveIntervalAnsweredCalls','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','predictiveIntervalDroppedCallsTimeout','predictiveIntervalErlangCallsDroppedCalls','predictiveIntervalHitRate','predictiveIntervalMultiplicativeFactor','predictiveIntervalAvailable','predictiveIntervalTotalCalls','message','originated','erlangCallToSecond','erlangBusyFactor','startPredictive','startProgressive','Trunk','active','callerid','Interval','stringify','voice:queue:%s','voice_queue:save','info','[DEBUG]\x20Emit\x20voice_queue_channel:remove\x20event','format','sendMessageOneNotActive','paused','NOT_ACTIVE','logger','[CampaignPreview]\x20Campaign\x20Queue:\x20','\x20is\x20not\x20active','IS_DISACTIVED','\x20is\x20disactive','prototype','syncCampaigns','booked','clearZombieChannels','hasOwnProperty','type','setMessage','dialPreviewAutoRecallMe','recallMe','clearZombieChannel','isNil','[clearZombieChannels][talking]','queue','dialAnswer','contactId','UserId','ListId','Action','status','channel','catch','No\x20such\x20channel','[Dialer][checkChannel][pTalking][Preview]','loggerError','[action]','size','getContactRecallMe','agentReadyId','then','length','getDiff','scheduledat','dialRecallMeTimeout','Agent','voicePause','logger2','[RecallMe]','disableContact','outboundReCallsDay','logCustomer','RecallInQueue','rescheduleContactInQueue','createBody','createCustomerHistory','[HistoryDialRecallInQueue][historyCatch]','RecallFailedTimeout','IsNotLoggedIn','isActive','isTrunkReachable','TrunkBackup','TRUNK_IS_NOT_REACHABLE','ACTIVE','callProgressDetectingCustomer','outboundNoSuchCallsDay','countnosuchnumberretry','countglobal','totalGlobal','NoSuchNumber','custom:agentnosuchnumber','buildObj','nosuchnumber','dialGlobalMaxRetry','cloneAction','Global','[callProgressDetectingCustomer][logNoSuchGlobal]','dialNoSuchNumberMaxRetry','createCustomerFinal','rescheduleContact','scheduledAt','dialNoSuchNumberRetryFrequency','unlockAgent','linkedid','ANSWER','responsetime','answertime','[syncHangup][talking][increment]','uniqueid','pTalking:\x20','connect','acw','custom:agentConnectPreview','buildAcw','custom:agentcomplete','[16]','Answer','[callProgressDetectingCustomer][logAnswerGlobal]','crateCustomerReportQueue','talktime','sumBillable','\x20Queue','BUSY','countbusyretry','Busy','custom:agentbusy','busy','[callProgressDetectingCustomer][logBusyGlobal]','dialBusyMaxRetry','[callProgressDetectingCustomer][logBusy]','dialBusyRetryFrequency','countnoanswerretry','NoAnswer','custom:agentnoanswer','noanswer','[callProgressDetectingCustomer][logNoAnswerGlobal]','dialNoAnswerMaxRetry','dialNoAnswerRetryFrequency','CONGESTION','Congestion','custom:agentcongestion','congestion','[callProgressDetectingCustomer][logCongestion]','[callProgressDetectingCustomer][logCongestionGlobal]','countcongestionretry','activeContact','CANCEL','agentreject','AgentReject','countagentrejectretry','dialAgentRejectMaxRetry','[callProgressDetectingCustomer][logAgentReject]','ABANDONED','countabandonedretry','Abandoned','[callProgressDetectingCustomer][logAbandoned]','dialAbandonedMaxRety','dialAbandonedRetryFrequency','countmachineretry','cause-txt','dialstatus','custom:amd','[callProgressDetectingCustomer][hangupInAMD]','amd','[callProgressDetectingCustomer][machine]','decrementTalkink','[default]','[Dialer][decrementTalkink][no\x20Hangup][Preview]','[callProgressDetectingCustomer][logUnknown]','[callProgressDetectingCustomer][logUnknownGlobal]','[originated][decrement][callProgressDetectingCustomer]','originated:\x20','destlinkedid','isUndefined','object','logAgent','createAgentHistory','[callProgressDetectingAgent][logNoAnswer]','[callProgressDetectingAgent][logBusy]','[callProgressDetectingAgent][logCongestion]','AnswerAGI','[callProgressDetectingAgent][logAnswerAGI]','updateOriginated','[callProgressDetectingAgent]','[originated][decrement][callProgressDetectingAgent]','Contact','phone','VoiceQueueId','lookAgent','execCall','[Preview][execCall][success]','\x20IdHopper:\x20','idContact','custom:agentcalled','called','Calling','logBlacklist','createHistory','[Blacklist][error]','Contact\x20in\x20black\x20List','SIP/%s','unmonitored','run','pick','unlock','unlockContact','execRun','recallme','isValid','checkIsBlackList','Contact.phone','checkInBlack','[Preview][checkIsBlackList]','[Preview][getContactPreview]','Call\x20unsuccessful','validateContact','isEmpty','[Preview][validateContact][Empty\x20Contact]','Empty\x20Contact','[Preview][validateContact][Empty\x20Campaign]','Empty\x20Campaign','[Preview][validateContact][Trunk\x20not\x20work]','\x20Trunk\x20Backup\x20is\x20not\x20active','Trunk\x20not\x20work','\x20Not\x20Active','campaign\x20Name:\x20','Is\x20Valid','SIP/%s/%s%s','trim','dialCutDigit','substring','getCallerId','dialRandomLastDigitCallerIdNumber','getCallerIdRandom','originatecalleridname','extractCalleridName','originatecalleridnum','extractCalleridNumber','addVariables','merge','starttime','YYYY-MM-DD\x20HH:mm:ss','[originated][increment]','OriginateError','[originateFailure][logOriginateFailure]','logLookAgent','clone','rejected','callProgressDetectingAgent','cause','statedesc','dialQueueProject','channelstate','transfer','[syncHangup][talking][cause]','destuniqueid','addVariable','syncVarSet','filterKey','variable','keys','value','error','inspect','transfertargetlinkedid','syncBlindTransfer','transfererlinkedid','util','lodash','bluebird','uuid','moment','md5','ioredis','../../../config/environment','../../../config/logger','preview','actionPreview','../ami','./rpcDb','./util/util','redis','localhost','socket.io-emitter','enqueue','tail','finally','sequence','campaignsPreview','trunks','actions','agents','clockClearZombieChannels','originateresponse','syncOriginateResponse','hangup'];(function(_0x438912,_0x3f7f74){var _0x18112f=function(_0x1b8ac9){while(--_0x1b8ac9){_0x438912['push'](_0x438912['shift']());}};_0x18112f(++_0x3f7f74);}(_0xca9e,0x136));var _0xeca9=function(_0x440dd4,_0x3dda07){_0x440dd4=_0x440dd4-0x0;var _0x29a64a=_0xca9e[_0x440dd4];return _0x29a64a;};'use strict';var util=require(_0xeca9('0x0'));var _=require(_0xeca9('0x1'));var BPromise=require(_0xeca9('0x2'));var uuid=require(_0xeca9('0x3'));var moment=require(_0xeca9('0x4'));var md5=require(_0xeca9('0x5'));var Redis=require(_0xeca9('0x6'));var config=require(_0xeca9('0x7'));var logger=require(_0xeca9('0x8'))(_0xeca9('0x9'));var loggerAction=require(_0xeca9('0x8'))(_0xeca9('0xa'));var ami=require(_0xeca9('0xb'));var rpcDb=require(_0xeca9('0xc'));var Action=require('./action');var ut=require(_0xeca9('0xd'));config[_0xeca9('0xe')]=_['defaults'](config['redis'],{'host':_0xeca9('0xf'),'port':0x18eb});var io=require(_0xeca9('0x10'))(new Redis(config[_0xeca9('0xe')]));var Sequence=function(){};Sequence['prototype'][_0xeca9('0x11')]=function(_0x364eb2){this[_0xeca9('0x12')]=this[_0xeca9('0x12')]?this[_0xeca9('0x12')][_0xeca9('0x13')](_0x364eb2):_0x364eb2();};function Preview(_0x5b5fbf){this[_0xeca9('0x14')]=new Sequence();this[_0xeca9('0x15')]=_0x5b5fbf['voiceQueues'];this[_0xeca9('0x16')]=_0x5b5fbf['trunks'];this[_0xeca9('0x17')]={};this[_0xeca9('0x18')]=_0x5b5fbf['agents'];this[_0xeca9('0x19')]=0x0;ami['on'](_0xeca9('0x1a'),this[_0xeca9('0x1b')]['bind'](this));ami['on'](_0xeca9('0x1c'),this[_0xeca9('0x1d')][_0xeca9('0x1e')](this));ami['on'](_0xeca9('0x1f'),this['syncHangupRequest']['bind'](this));ami['on'](_0xeca9('0x20'),this[_0xeca9('0x21')]['bind'](this));ami['on'](_0xeca9('0x22'),this[_0xeca9('0x23')]['bind'](this));ami['on']('varset',this['syncVarSet'][_0xeca9('0x1e')](this));ami['on'](_0xeca9('0x24'),this[_0xeca9('0x25')]['bind'](this));ami['on'](_0xeca9('0x26'),this['syncBlindTransfer']['bind'](this));this[_0xeca9('0x27')](this['campaignsPreview']);}function emit(_0x31720b,_0x1c4dd6,_0x52464f){io['to'](_0x31720b)[_0xeca9('0x28')](_0x1c4dd6,_0x52464f);}function emitCampaignPreview(_0x356321){if(_0x356321['type']===_0xeca9('0x29')){var _0x5279d0={'id':_0x356321['id'],'name':_0x356321[_0xeca9('0x2a')],'strategy':_0x356321[_0xeca9('0x2b')],'answered':_0x356321[_0xeca9('0x2c')],'available':_0x356321['available'],'loggedIn':_0x356321[_0xeca9('0x2d')],'pTalking':_0x356321[_0xeca9('0x2e')],'sumBillable':_0x356321['sumBillable'],'sumDuration':_0x356321[_0xeca9('0x2f')],'sumHoldTime':_0x356321[_0xeca9('0x30')]||0x0,'talking':_0x356321[_0xeca9('0x31')],'total':_0x356321[_0xeca9('0x32')],'type':_0x356321['type'],'unmanaged':_0x356321[_0xeca9('0x33')],'abandoned':_0x356321['abandoned'],'waiting':_0x356321[_0xeca9('0x34')],'loggedInDb':_0x356321[_0xeca9('0x35')],'dialActive':_0x356321[_0xeca9('0x36')],'dialMethod':_0x356321[_0xeca9('0x37')],'dialOriginateCallerIdName':_0x356321[_0xeca9('0x38')],'dialOriginateCallerIdNumber':_0x356321[_0xeca9('0x39')],'dialOriginateTimeout':_0x356321[_0xeca9('0x3a')],'dialPrefix':_0x356321[_0xeca9('0x3b')],'outboundAnswerAgiCallsDay':_0x356321[_0xeca9('0x3c')],'outboundAnswerCallsDay':_0x356321[_0xeca9('0x3d')],'outboundBlacklistCallsDay':_0x356321[_0xeca9('0x3e')],'outboundBusyCallsDay':_0x356321[_0xeca9('0x3f')],'outboundCongestionCallsDay':_0x356321[_0xeca9('0x40')],'outboundDropCallsDayACS':_0x356321[_0xeca9('0x41')],'outboundDropCallsDayCallersExit':_0x356321[_0xeca9('0x42')],'outboundDropCallsDayTimeout':_0x356321['outboundDropCallsDayTimeout'],'outboundNoAnswerCallsDay':_0x356321['outboundNoAnswerCallsDay'],'outboundNoSuchCallsDay':_0x356321['outboundNoSuchCallsDay'],'outboundOriginateFailureCallsDay':_0x356321[_0xeca9('0x43')],'outboundReCallsDay':_0x356321['outboundReCallsDay'],'outboundRejectCallsDay':_0x356321[_0xeca9('0x44')],'outboundUnknownCallsDay':_0x356321[_0xeca9('0x45')],'outboundAbandonedCallsDay':_0x356321[_0xeca9('0x46')],'predictiveIntervalAnsweredCalls':_0x356321[_0xeca9('0x47')],'predictiveIntervalAvgHoldtime':_0x356321[_0xeca9('0x48')],'predictiveIntervalAvgTalktime':_0x356321[_0xeca9('0x49')],'predictiveIntervalDroppedCallsCallersExit':_0x356321['predictiveIntervalDroppedCallsCallersExit'],'predictiveIntervalDroppedCallsTimeout':_0x356321[_0xeca9('0x4a')],'predictiveIntervalErlangCalls':_0x356321['predictiveIntervalErlangCalls'],'predictiveIntervalErlangCallsDroppedCalls':_0x356321[_0xeca9('0x4b')],'predictiveIntervalHitRate':_0x356321[_0xeca9('0x4c')],'predictiveIntervalMultiplicativeFactor':_0x356321[_0xeca9('0x4d')],'predictiveIntervalPauses':_0x356321['predictiveIntervalPauses'],'predictiveIntervalAvailable':_0x356321[_0xeca9('0x4e')],'predictiveIntervalTotalCalls':_0x356321[_0xeca9('0x4f')],'message':_0x356321[_0xeca9('0x50')],'originated':_0x356321[_0xeca9('0x51')],'erlangCalls':_0x356321['erlangCalls'],'erlangCallToSecond':_0x356321[_0xeca9('0x52')],'erlangAbandonmentRate':_0x356321['erlangAbandonmentRate'],'erlangBusyFactor':_0x356321[_0xeca9('0x53')],'startPredictive':_0x356321[_0xeca9('0x54')],'startProgressive':_0x356321[_0xeca9('0x55')]};if(_0x356321[_0xeca9('0x56')]){_0x5279d0[_0xeca9('0x56')]={'id':_0x356321[_0xeca9('0x56')]['id'],'name':_0x356321['Trunk'][_0xeca9('0x2a')],'active':_0x356321[_0xeca9('0x56')][_0xeca9('0x57')],'callerid':_0x356321[_0xeca9('0x56')][_0xeca9('0x58')]};}if(_0x356321[_0xeca9('0x59')]){_0x5279d0[_0xeca9('0x59')]={'id':_0x356321['Interval']['id'],'name':_0x356321[_0xeca9('0x59')][_0xeca9('0x2a')]};}var _0x859deb=md5(JSON[_0xeca9('0x5a')](_0x5279d0));if(_0x356321[_0xeca9('0x5')]!==_0x859deb){_0x356321[_0xeca9('0x5')]=_0x859deb;emit(util['format'](_0xeca9('0x5b'),_0x5279d0['name']),_0xeca9('0x5c'),_0x5279d0);}}}function emitVoiceQueueChannelRemove(_0x4f7f25){logger[_0xeca9('0x5d')](_0xeca9('0x5e'),JSON['stringify'](_0x4f7f25));emit(util[_0xeca9('0x5f')]('voice:queue:%s',_0x4f7f25[_0xeca9('0x2a')]),'voice_queue_channel:remove',_0x4f7f25);io[_0xeca9('0x28')]('voice_queue_presence:remove',_0x4f7f25);}function notSendMessagesQueue(_0x1bab33){if(_0x1bab33[_0xeca9('0x60')]){if(_0x1bab33['originated']===0x0&&_0x1bab33[_0xeca9('0x2e')]===0x0){_0x1bab33[_0xeca9('0x60')]=![];_0x1bab33['available']=0x0;_0x1bab33[_0xeca9('0x61')]=0x0;_0x1bab33[_0xeca9('0x50')]=_0xeca9('0x62');ut[_0xeca9('0x63')](_0xeca9('0x64'),_0x1bab33[_0xeca9('0x2a')]+_0xeca9('0x65'));}else{_0x1bab33[_0xeca9('0x50')]=_0xeca9('0x66');ut['logger'](_0xeca9('0x64'),_0x1bab33[_0xeca9('0x2a')]+_0xeca9('0x67'));}emitCampaignPreview(_0x1bab33);}}Preview[_0xeca9('0x68')][_0xeca9('0x27')]=function(){var _0x3798cc=this;setInterval(function(){_0x3798cc[_0xeca9('0x69')]();},0x7cf);};Preview['prototype'][_0xeca9('0x69')]=function(){var _0x388943=this[_0xeca9('0x15')];this[_0xeca9('0x19')]+=0x1;for(var _0x3a4451 in _0x388943){if(_0x388943['hasOwnProperty'](_0x3a4451)&&(_0x388943[_0x3a4451][_0xeca9('0x37')]===_0xeca9('0x9')||_0x388943[_0x3a4451][_0xeca9('0x37')]===_0xeca9('0x6a'))&&_0x388943[_0x3a4451]['type']===_0xeca9('0x29')){if(this[_0xeca9('0x19')]>0x7){this['clockClearZombieChannels']=0x0;this[_0xeca9('0x6b')]();}}if(_0x388943[_0xeca9('0x6c')](_0x3a4451)&&_0x388943[_0x3a4451][_0xeca9('0x37')]===_0xeca9('0x9')&&_0x388943[_0x3a4451][_0xeca9('0x6d')]===_0xeca9('0x29')){if(_0x388943[_0x3a4451][_0xeca9('0x36')]){this[_0xeca9('0x6e')](_0x388943[_0x3a4451]);if(_0x388943[_0x3a4451][_0xeca9('0x6f')])this[_0xeca9('0x70')](_0x388943[_0x3a4451]);}else{notSendMessagesQueue(_0x388943[_0x3a4451]);}}}};Preview[_0xeca9('0x68')][_0xeca9('0x71')]=function(_0x14ba18){var _0x35f835=this;this[_0xeca9('0x14')]['enqueue'](function(){if(!_[_0xeca9('0x72')](_0x35f835[_0xeca9('0x17')][_0x14ba18])){loggerAction[_0xeca9('0x5d')](_0xeca9('0x73'),_0x14ba18,'Queue',_0x35f835[_0xeca9('0x17')][_0x14ba18][_0xeca9('0x74')],'originated:\x20',JSON['stringify'](_0x35f835[_0xeca9('0x15')][_0x35f835[_0xeca9('0x17')][_0x14ba18][_0xeca9('0x74')]][_0xeca9('0x51')]),'pTalking:\x20',JSON[_0xeca9('0x5a')](_0x35f835[_0xeca9('0x15')][_0x35f835[_0xeca9('0x17')][_0x14ba18][_0xeca9('0x74')]][_0xeca9('0x2e')]),JSON[_0xeca9('0x5a')](_0x35f835[_0xeca9('0x17')][_0x14ba18][_0xeca9('0x75')]),JSON[_0xeca9('0x5a')](_['pick'](_0x35f835['actions'][_0x14ba18],[_0xeca9('0x76'),_0xeca9('0x77'),'VoiceQueueId',_0xeca9('0x78')])));return ami[_0xeca9('0x79')]({'action':_0xeca9('0x7a'),'channel':_0x35f835[_0xeca9('0x17')][_0x14ba18][_0xeca9('0x7b')]})[_0xeca9('0x7c')](function(_0x1b77c1){if(_0x1b77c1[_0xeca9('0x50')]===_0xeca9('0x7d')){setTimeout(function(){if(_0x35f835['actions'][_0x14ba18]){ut['updateOriginated'](_0x35f835['campaignsPreview'][_0x35f835['actions'][_0x14ba18][_0xeca9('0x74')]],'[clearZombieChannel]');if(_0x35f835[_0xeca9('0x17')][_0x14ba18][_0xeca9('0x75')]===!![]){ut['decrementTalkink'](_0x35f835[_0xeca9('0x15')][_0x35f835[_0xeca9('0x17')][_0x14ba18][_0xeca9('0x74')]],'[clearZombieChannel]');ut['loggerError'](_0xeca9('0x7e')+_0x14ba18,_0x35f835[_0xeca9('0x17')][_0x14ba18][_0xeca9('0x74')]);}ut[_0xeca9('0x7f')]('[Dialer][checkChannel][Preview]'+_0x14ba18,_0x35f835[_0xeca9('0x17')][_0x14ba18][_0xeca9('0x74')]);delete _0x35f835[_0xeca9('0x17')][_0x14ba18];}},0x2328);}});}});};Preview[_0xeca9('0x68')][_0xeca9('0x6b')]=function(){var _0x2ffbb9=this;loggerAction[_0xeca9('0x5d')](_0xeca9('0x80'),_[_0xeca9('0x81')](this[_0xeca9('0x17')]));for(var _0x25847d in this[_0xeca9('0x17')]){if(_0x2ffbb9[_0xeca9('0x17')][_0xeca9('0x6c')](_0x25847d)){_0x2ffbb9[_0xeca9('0x71')](_0x25847d);}}};Preview[_0xeca9('0x68')]['recallMe']=function(_0x22d1b9){var _0xd0d4a6=this;rpcDb[_0xeca9('0x82')](_0x22d1b9['id'],ut[_0xeca9('0x83')](this['agents']))[_0xeca9('0x84')](function(_0x3035b2){if(!_['isNil'](_0x3035b2)){for(var _0x334575=0x0;_0x334575<_0x3035b2[_0xeca9('0x85')];_0x334575+=0x1){if(ut[_0xeca9('0x86')](_0x3035b2[_0x334575][_0xeca9('0x87')])<_0x22d1b9[_0xeca9('0x88')]*0x3c){if(_0x3035b2[_0x334575]['Agent']&&!_0x3035b2[_0x334575][_0xeca9('0x89')][_0xeca9('0x8a')]){_0xd0d4a6['run'](_0x3035b2[_0x334575]['id'])[_0xeca9('0x84')](ut[_0xeca9('0x8b')](_0xeca9('0x8c')))[_0xeca9('0x7c')](ut[_0xeca9('0x8b')](_0xeca9('0x8c')));}else{rpcDb[_0xeca9('0x8d')](_0x3035b2[_0x334575]['id']);}}else{var _0x2ade57=new Action(_0x3035b2[_0x334575],_0x22d1b9);_0x2ade57['starttime']=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');_0x22d1b9[_0xeca9('0x8e')]+=0x1;ut[_0xeca9('0x8f')](_0x2ade57,0x17,_0xeca9('0x90'));if(_0x22d1b9['dialRecallInQueue']){rpcDb[_0xeca9('0x91')](ut[_0xeca9('0x92')](_0x3035b2[_0x334575]));rpcDb[_0xeca9('0x93')](_0x2ade57,_0xeca9('0x94'));}else{ut[_0xeca9('0x8f')](_0x2ade57,0x16,_0xeca9('0x95'));rpcDb[_0xeca9('0x93')](_0x2ade57,'[HistoryRecallClose]');rpcDb['createCustomerFinal'](_0x2ade57,'[HistoryRecallClose]');}}}}})[_0xeca9('0x7c')](ut[_0xeca9('0x8b')]('[getContactRecallMe]'));};Preview[_0xeca9('0x68')]['setMessage']=function(_0x33760f){_0x33760f[_0xeca9('0x60')]=!![];if(ut[_0xeca9('0x96')](_0x33760f[_0xeca9('0x2d')])){_0x33760f[_0xeca9('0x50')]='AGENTS_NOT_LOGGED';}else if(!ut[_0xeca9('0x97')](_0x33760f[_0xeca9('0x36')])){_0x33760f[_0xeca9('0x50')]=_0xeca9('0x62');}else if(!this[_0xeca9('0x98')](_0x33760f[_0xeca9('0x56')])){if(!this[_0xeca9('0x98')](_0x33760f[_0xeca9('0x99')])){_0x33760f['message']=_0xeca9('0x9a');}else{_0x33760f['message']=_0xeca9('0x9b');}}else{_0x33760f[_0xeca9('0x50')]=_0xeca9('0x9b');}emitCampaignPreview(_0x33760f);};Preview[_0xeca9('0x68')][_0xeca9('0x9c')]=function(_0x2d8397,_0x4981bf,_0x1c2821){var _0x12121c=this;var _0x95a291=this['actions'][_0x4981bf];var _0xbb63be=this[_0xeca9('0x15')][_0x95a291[_0xeca9('0x74')]];var _0x53b6fb;if(_0xbb63be){switch(_0x1c2821){case'1':_0xbb63be[_0xeca9('0x9d')]+=0x1;_0x95a291[_0xeca9('0x9e')]+=0x1;_0x95a291[_0xeca9('0x9f')]=ut[_0xeca9('0xa0')](_0x95a291);ut['logCustomer'](_0x95a291,0x0,_0xeca9('0xa1'));ami[_0xeca9('0x28')](_0xeca9('0xa2'),ut[_0xeca9('0xa3')](_0x95a291,_0xeca9('0xa4')));rpcDb['createCustomerHistory'](_0x95a291,'[callProgressDetectingCustomer][logNoSuch]');if(ut[_0xeca9('0xa0')](_0x95a291)>=_0xbb63be[_0xeca9('0xa5')]){_0x53b6fb=ut[_0xeca9('0xa6')](_0x95a291,0xf,_0xeca9('0xa7'));rpcDb['createCustomerFinal'](_0x53b6fb,_0xeca9('0xa8'));}else{if(_0x95a291[_0xeca9('0x9e')]>=_0xbb63be[_0xeca9('0xa9')]){rpcDb[_0xeca9('0xaa')](_0x95a291,_0xeca9('0xa8'));}else{rpcDb[_0xeca9('0xab')](ut[_0xeca9('0xac')](_0x95a291,_0xeca9('0x9e'),_0xbb63be[_0xeca9('0xad')]),_0x95a291[_0xeca9('0xae')],_0x95a291['activeContact']);}}delete this[_0xeca9('0x17')][_0x2d8397[_0xeca9('0xaf')]];break;case _0xeca9('0xb0'):var _0x4a2f6f=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');_0x95a291[_0xeca9('0xb1')]=_0x4a2f6f;_0x95a291[_0xeca9('0xb2')]=_0x4a2f6f;_0x95a291['dialAnswer']=!![];_0xbb63be[_0xeca9('0x2e')]+=0x1;logger[_0xeca9('0x5d')](_0xeca9('0xb3'),_0x95a291[_0xeca9('0xb4')],'\x20Queue',_0xbb63be[_0xeca9('0x2a')],_0xeca9('0xb5'),_0xbb63be['pTalking']);ami['emit']('custom:agentconnect',ut[_0xeca9('0xa3')](_0x95a291,_0xeca9('0xb6'),this[_0xeca9('0x15')][_0x95a291['queue']]));if(_0xbb63be[_0xeca9('0xb7')]){ami['emit'](_0xeca9('0xb8'),ut[_0xeca9('0xb9')](_0x95a291));}break;case'16':ami[_0xeca9('0x28')](_0xeca9('0xba'),ut[_0xeca9('0xa3')](_0x95a291,'complete',this[_0xeca9('0x15')][_0x95a291['queue']]));emitVoiceQueueChannelRemove(ut[_0xeca9('0xa3')](_0x95a291,'complete'));_0xbb63be['outboundAnswerCallsDay']+=0x1;_0xbb63be['total']+=0x1;_0xbb63be[_0xeca9('0x2c')]+=0x1;ut['decrementTalkink'](_0xbb63be,_0xeca9('0xbb'));_0x95a291[_0xeca9('0x9f')]=ut[_0xeca9('0xa0')](_0x95a291);ut[_0xeca9('0x8f')](_0x95a291,0x4,_0xeca9('0xbc'));rpcDb[_0xeca9('0x93')](_0x95a291,'[callProgressDetectingCustomer][logAnswer]');rpcDb[_0xeca9('0xaa')](_0x95a291,_0xeca9('0xbd'));rpcDb[_0xeca9('0xbe')](_0x95a291);_0xbb63be[_0xeca9('0x2f')]+=_0x95a291[_0xeca9('0xbf')];_0xbb63be[_0xeca9('0xc0')]+=_0x95a291[_0xeca9('0xbf')];logger[_0xeca9('0x5d')]('[syncHangup][talking][decrement]',_0x95a291[_0xeca9('0xb4')],_0xeca9('0xc1'),_0xbb63be[_0xeca9('0x2a')],_0xeca9('0xb5'),_0xbb63be[_0xeca9('0x2e')]);delete this['actions'][_0x2d8397[_0xeca9('0xaf')]];break;case _0xeca9('0xc2'):_0xbb63be[_0xeca9('0x3f')]+=0x1;_0x95a291[_0xeca9('0xc3')]+=0x1;_0x95a291[_0xeca9('0x9f')]=ut['totalGlobal'](_0x95a291);ut[_0xeca9('0x8f')](_0x95a291,0x5,_0xeca9('0xc4'));ami[_0xeca9('0x28')](_0xeca9('0xc5'),ut[_0xeca9('0xa3')](_0x95a291,_0xeca9('0xc6')));rpcDb[_0xeca9('0x93')](_0x95a291,'[callProgressDetectingCustomer][logBusy]');if(ut[_0xeca9('0xa0')](_0x95a291)>=_0xbb63be[_0xeca9('0xa5')]){_0x53b6fb=ut[_0xeca9('0xa6')](_0x95a291,0xf,_0xeca9('0xa7'));rpcDb[_0xeca9('0xaa')](_0x53b6fb,_0xeca9('0xc7'));}else{if(_0x95a291[_0xeca9('0xc3')]>=_0xbb63be[_0xeca9('0xc8')]){rpcDb[_0xeca9('0xaa')](_0x95a291,_0xeca9('0xc9'));}else{rpcDb['rescheduleContact'](ut[_0xeca9('0xac')](_0x95a291,_0xeca9('0xc3'),_0xbb63be[_0xeca9('0xca')]),_0x95a291[_0xeca9('0xae')],_0x95a291['activeContact']);}}break;case'NOANSWER':_0xbb63be['outboundNoAnswerCallsDay']+=0x1;_0x95a291[_0xeca9('0xcb')]+=0x1;_0x95a291[_0xeca9('0x9f')]=ut[_0xeca9('0xa0')](_0x95a291);ut[_0xeca9('0x8f')](_0x95a291,0x3,_0xeca9('0xcc'));ami[_0xeca9('0x28')](_0xeca9('0xcd'),ut['buildObj'](_0x95a291,_0xeca9('0xce')));rpcDb[_0xeca9('0x93')](_0x95a291,'[callProgressDetectingCustomer][logNoAnswer]');if(ut[_0xeca9('0xa0')](_0x95a291)>=_0xbb63be[_0xeca9('0xa5')]){_0x53b6fb=ut[_0xeca9('0xa6')](_0x95a291,0xf,_0xeca9('0xa7'));rpcDb['createCustomerFinal'](_0x53b6fb,_0xeca9('0xcf'));}else{if(_0x95a291[_0xeca9('0xcb')]>=_0xbb63be[_0xeca9('0xd0')]){rpcDb[_0xeca9('0xaa')](_0x95a291,'[callProgressDetectingCustomer][logNoAnswer]');}else{rpcDb[_0xeca9('0xab')](ut[_0xeca9('0xac')](_0x95a291,_0xeca9('0xcb'),_0xbb63be[_0xeca9('0xd1')]),_0x95a291[_0xeca9('0xae')],_0x95a291['activeContact']);}}break;case _0xeca9('0xd2'):_0xbb63be[_0xeca9('0x40')]+=0x1;_0x95a291['countcongestionretry']+=0x1;_0x95a291['countglobal']=ut[_0xeca9('0xa0')](_0x95a291);ut['logCustomer'](_0x95a291,0x8,_0xeca9('0xd3'));ami[_0xeca9('0x28')](_0xeca9('0xd4'),ut[_0xeca9('0xa3')](_0x95a291,_0xeca9('0xd5')));rpcDb['createCustomerHistory'](_0x95a291,_0xeca9('0xd6'));if(ut[_0xeca9('0xa0')](_0x95a291)>=_0xbb63be[_0xeca9('0xa5')]){_0x53b6fb=ut['cloneAction'](_0x95a291,0xf,_0xeca9('0xa7'));rpcDb[_0xeca9('0xaa')](_0x53b6fb,_0xeca9('0xd7'));}else{if(_0x95a291[_0xeca9('0xd8')]>=_0xbb63be['dialCongestionMaxRetry']){rpcDb[_0xeca9('0xaa')](_0x95a291,_0xeca9('0xd6'));}else{rpcDb[_0xeca9('0xab')](ut['scheduledAt'](_0x95a291,_0xeca9('0xd8'),_0xbb63be[_0xeca9('0xca')]),_0x95a291[_0xeca9('0xae')],_0x95a291[_0xeca9('0xd9')]);}}break;case _0xeca9('0xda'):_0xbb63be[_0xeca9('0x44')]+=0x1;_0x95a291['countagentrejectretry']+=0x1;_0x95a291[_0xeca9('0x9f')]=ut[_0xeca9('0xa0')](_0x95a291);ut['logCustomer'](_0x95a291,0x14,'AgentReject');ami[_0xeca9('0x28')]('custom:agentreject',ut[_0xeca9('0xa3')](_0x95a291,_0xeca9('0xdb')));rpcDb[_0xeca9('0x93')](_0x95a291,'[syncHangupRequest][logAgentReject]');if(ut[_0xeca9('0xa0')](_0x95a291)>=_0xbb63be[_0xeca9('0xa5')]){_0x53b6fb=ut[_0xeca9('0xa6')](_0x95a291,0x14,_0xeca9('0xdc'));rpcDb[_0xeca9('0xaa')](_0x53b6fb,'[callProgressDetectingCustomer][logAgentReject]');}else{if(_0x95a291[_0xeca9('0xdd')]>=_0xbb63be[_0xeca9('0xde')]){rpcDb[_0xeca9('0xaa')](_0x95a291,_0xeca9('0xdf'));}else{rpcDb[_0xeca9('0xab')](ut[_0xeca9('0xac')](_0x95a291,_0xeca9('0xdd'),_0xbb63be['dialAgentRejectRetryFrequency']),_0x95a291[_0xeca9('0xae')],_0x95a291['activeContact']);}}break;case _0xeca9('0xe0'):_0xbb63be[_0xeca9('0x46')]+=0x1;_0x95a291[_0xeca9('0xe1')]+=0x1;_0x95a291[_0xeca9('0x9f')]=ut[_0xeca9('0xa0')](_0x95a291);ut[_0xeca9('0x8f')](_0x95a291,0xb,_0xeca9('0xe2'));rpcDb['createCustomerHistory'](_0x95a291,'[callProgressDetectingCustomer][logAbandoned]');if(ut['totalGlobal'](_0x95a291)>=_0xbb63be['dialGlobalMaxRetry']){_0x53b6fb=ut[_0xeca9('0xa6')](_0x95a291,0xf,'Global');rpcDb[_0xeca9('0xaa')](_0x53b6fb,_0xeca9('0xe3'));}else{if(_0x95a291['countabandonedetry']>=_0xbb63be[_0xeca9('0xe4')]){rpcDb[_0xeca9('0xaa')](_0x95a291,_0xeca9('0xe3'));}else{rpcDb[_0xeca9('0xab')](ut[_0xeca9('0xac')](_0x95a291,_0xeca9('0xe1'),_0xbb63be[_0xeca9('0xe5')]),_0x95a291['unlockAgent'],_0x95a291[_0xeca9('0xd9')]);}}break;case'18':_0xbb63be[_0xeca9('0x45')]+=0x1;_0x95a291[_0xeca9('0xe6')]+=0x1;_0x95a291[_0xeca9('0x9f')]=ut[_0xeca9('0xa0')](_0x95a291);ut['logCustomer'](_0x95a291,0x12,_0x2d8397[_0xeca9('0xe7')]||_0x2d8397[_0xeca9('0xe8')]);ami[_0xeca9('0x28')](_0xeca9('0xe9'),ut[_0xeca9('0xa3')](_0x95a291,'amd'));rpcDb[_0xeca9('0x93')](_0x95a291,'[callProgressDetectingCustomer][hangupInAMD]');if(ut[_0xeca9('0xa0')](_0x95a291)>=_0xbb63be[_0xeca9('0xa5')]){_0x53b6fb=ut[_0xeca9('0xa6')](_0x95a291,0xf,_0xeca9('0xa7'));rpcDb[_0xeca9('0xaa')](_0x53b6fb,_0xeca9('0xea'));}else{rpcDb[_0xeca9('0xaa')](_0x95a291,_0xeca9('0xea'));}delete this[_0xeca9('0x17')][_0x2d8397[_0xeca9('0xaf')]];break;case'19':_0xbb63be['outboundUnknownCallsDay']+=0x1;_0x95a291[_0xeca9('0x9f')]=ut[_0xeca9('0xa0')](_0x95a291);ut[_0xeca9('0x8f')](_0x95a291,0x13,_0x2d8397['cause-txt']||_0x2d8397[_0xeca9('0xe8')]);ami['emit'](_0xeca9('0xe9'),ut[_0xeca9('0xa3')](_0x95a291,_0xeca9('0xeb')));rpcDb[_0xeca9('0x93')](_0x95a291,'[callProgressDetectingCustomer][machine]');if(ut[_0xeca9('0xa0')](_0x95a291)>=_0xbb63be[_0xeca9('0xa5')]){_0x53b6fb=ut[_0xeca9('0xa6')](_0x95a291,0xf,_0xeca9('0xa7'));rpcDb[_0xeca9('0xaa')](_0x53b6fb,_0xeca9('0xec'));}else{rpcDb[_0xeca9('0xaa')](_0x95a291,_0xeca9('0xec'));}delete this[_0xeca9('0x17')][_0x2d8397[_0xeca9('0xaf')]];break;default:if(_0x95a291[_0xeca9('0x75')]){ut[_0xeca9('0xed')](_0xbb63be,_0xeca9('0xee'));ut[_0xeca9('0x7f')](_0xeca9('0xef')+_0xbb63be[_0xeca9('0x2a')],_0x2d8397);}_0xbb63be[_0xeca9('0x45')]+=0x1;_0x95a291[_0xeca9('0x9f')]=ut['totalGlobal'](_0x95a291);ut['logCustomer'](_0x95a291,0xc,_0x2d8397['cause-txt']||_0x2d8397[_0xeca9('0xe8')]);rpcDb[_0xeca9('0x93')](_0x95a291,_0xeca9('0xf0'));if(ut['totalGlobal'](_0x95a291)>=_0xbb63be['dialGlobalMaxRetry']){_0x53b6fb=ut[_0xeca9('0xa6')](_0x95a291,0xf,_0xeca9('0xa7'));rpcDb['createCustomerFinal'](_0x53b6fb,'[callProgressDetectingCustomer][logUnknownGlobal]');}else{rpcDb[_0xeca9('0xaa')](_0x95a291,_0xeca9('0xf1'));}delete this[_0xeca9('0x17')][_0x2d8397['linkedid']];}if(!(_0x95a291[_0xeca9('0x75')]&&_0x1c2821==='16')){ut['updateOriginated'](_0xbb63be,'[callProgressDetectingCustomer]');logger['info'](_0xeca9('0xf2'),_0x95a291[_0xeca9('0xb4')],_0xeca9('0xc1'),_0xbb63be['name'],_0xeca9('0xf3'),_0xbb63be['originated']);}if(_0x1c2821!==_0xeca9('0xb0')){delete this['actions'][_0x2d8397[_0xeca9('0xaf')]];delete this[_0xeca9('0x17')][_0x2d8397[_0xeca9('0xf4')]];}}};Preview[_0xeca9('0x68')]['callProgressDetectingAgent']=function(_0x323a5d,_0x2c0f2e,_0x38f4a4){if(_[_0xeca9('0xf5')](_0x2c0f2e)&&_0xeca9('0xf6')!==typeof _0x2c0f2e){return;}if(_['isUndefined'](_0x38f4a4)&&_0xeca9('0xf6')!==typeof _0x38f4a4){return;}switch(_0x38f4a4['reason']){case'0':ut[_0xeca9('0xf7')](_0x323a5d,0x0,_0xeca9('0xa1'));rpcDb[_0xeca9('0xf8')](_0x323a5d,'[callProgressDetectingAgent][logNoSuch]');break;case'3':ut[_0xeca9('0xf7')](_0x323a5d,0x3,_0xeca9('0xcc'));rpcDb['createAgentHistory'](_0x323a5d,_0xeca9('0xf9'));break;case'5':ut[_0xeca9('0xf7')](_0x323a5d,0x5,_0xeca9('0xc4'));rpcDb['createAgentHistory'](_0x323a5d,_0xeca9('0xfa'));break;case'8':ut[_0xeca9('0xf7')](_0x323a5d,0x8,_0xeca9('0xd3'));rpcDb[_0xeca9('0xf8')](_0x323a5d,_0xeca9('0xfb'));break;case'22':ut[_0xeca9('0xf7')](_0x323a5d,0x16,_0xeca9('0xfc'));rpcDb[_0xeca9('0xf8')](_0x323a5d,_0xeca9('0xfd'));break;default:ut[_0xeca9('0xf7')](_0x323a5d,0xc,_0x38f4a4['reason']);rpcDb[_0xeca9('0xf8')](_0x323a5d,'[callProgressDetectingAgent][logCongestion]');}ut[_0xeca9('0xfe')](_0x2c0f2e,_0xeca9('0xff'));logger[_0xeca9('0x5d')](_0xeca9('0x100'),_0x323a5d[_0xeca9('0xb4')],_0xeca9('0xc1'),_0x2c0f2e[_0xeca9('0x2a')],_0xeca9('0xf3'),_0x2c0f2e[_0xeca9('0x51')]);delete this[_0xeca9('0x17')][_0x323a5d[_0xeca9('0xb4')]];};Preview[_0xeca9('0x68')]['checkInBlack']=function(_0x2c89d8,_0x13873f,_0x18d3ca,_0x15b383,_0x44c06b){var _0x36bd34=this;return new BPromise(function(_0x27a7ce,_0x583950){if(_[_0xeca9('0x72')](_0x13873f)||_[_0xeca9('0x72')](_0x13873f[_0xeca9('0x101')])||_[_0xeca9('0x72')](_0x13873f[_0xeca9('0x101')][_0xeca9('0x102')])||_['isNil'](_0x13873f[_0xeca9('0x103')])){_0x583950(ut[_0xeca9('0x50')]('Contact\x20is\x20undefined',_0x15b383,_0x44c06b));return;}var _0x1e65c5=uuid['v4']();var _0xbdedef=_0x36bd34[_0xeca9('0x15')][_0x13873f['Queue'][_0xeca9('0x2a')]];var _0x8f463c=_0x18d3ca?_0x36bd34['agents'][_0x18d3ca]['id']:undefined;_0x36bd34[_0xeca9('0x17')][_0x1e65c5]=new Action(_0x13873f,_0xbdedef,_0x1e65c5,_0x18d3ca,_0x8f463c);var _0x3207b6=_0x36bd34['actions'][_0x1e65c5];_0x3207b6['unlockAgent']=_0x15b383;_0x3207b6[_0xeca9('0xd9')]=_0x44c06b;_0x3207b6[_0xeca9('0x104')]=_0x18d3ca;if(_['isEmpty'](_0x2c89d8)){_0x36bd34[_0xeca9('0x105')](_0x3207b6,_0xbdedef,_0x13873f,_0x18d3ca)[_0xeca9('0x84')](function(_0x330c64){logger[_0xeca9('0x5d')](_0xeca9('0x106'),'Queue:\x20'+_0x3207b6['queue']+_0xeca9('0x107')+_0x3207b6[_0xeca9('0x108')],JSON[_0xeca9('0x5a')](_0x330c64));ami[_0xeca9('0x28')](_0xeca9('0x109'),ut[_0xeca9('0xa3')](_0x3207b6,_0xeca9('0x10a'),_0x36bd34[_0xeca9('0x15')][_0x3207b6[_0xeca9('0x74')]]));_0x27a7ce(ut[_0xeca9('0x50')](_0xeca9('0x10b')));})[_0xeca9('0x7c')](function(_0x42a99d){ut[_0xeca9('0x63')]('[Preview][execCall][failure]',_0x42a99d);_0x583950(ut[_0xeca9('0x50')]('Call\x20failed',_0x15b383,_0x44c06b));});}else{_0xbdedef[_0xeca9('0x3e')]+=0x1;ut[_0xeca9('0x10c')](_0x3207b6);rpcDb[_0xeca9('0x10d')](_0x3207b6,_0xeca9('0x10e'));delete _0x36bd34[_0xeca9('0x17')][_0x1e65c5];_0x583950(ut[_0xeca9('0x50')](_0xeca9('0x10f'),_0x15b383,_0x44c06b));}});};Preview[_0xeca9('0x68')]['isTrunkReachable']=function(_0x4a01b0){return!_[_0xeca9('0x72')](_0x4a01b0)&&!_[_0xeca9('0x72')](_0x4a01b0[_0xeca9('0x2a')])&&!_[_0xeca9('0x72')](_0x4a01b0[_0xeca9('0x57')])&&_0x4a01b0[_0xeca9('0x57')]&&!_[_0xeca9('0x72')](this[_0xeca9('0x16')][util[_0xeca9('0x5f')]('SIP/%s',_0x4a01b0[_0xeca9('0x2a')])])&&!_[_0xeca9('0x72')](this['trunks'][util[_0xeca9('0x5f')]('SIP/%s',_0x4a01b0[_0xeca9('0x2a')])][_0xeca9('0x7a')])&&(this['trunks'][util[_0xeca9('0x5f')](_0xeca9('0x110'),_0x4a01b0['name'])][_0xeca9('0x7a')]==='reachable'||this['trunks'][util[_0xeca9('0x5f')](_0xeca9('0x110'),_0x4a01b0[_0xeca9('0x2a')])][_0xeca9('0x7a')]===_0xeca9('0x111'));};Preview[_0xeca9('0x68')][_0xeca9('0x112')]=function(_0x156c3d,_0x32c3c2){var _0x14752a=this;return new BPromise(function(_0xdfd9f3,_0xe73940){_0x14752a['execRun'](_0x156c3d,_0x32c3c2)['then'](function(_0x206343){_0xdfd9f3(_[_0xeca9('0x113')](_0x206343,[_0xeca9('0x50')]));})[_0xeca9('0x7c')](function(_0x14f6b1){if(_0x14f6b1[_0xeca9('0x114')]){rpcDb[_0xeca9('0x115')](_0x156c3d);}if(_0x14f6b1['active']){rpcDb['disableContact'](_0x156c3d);}_0xe73940(_[_0xeca9('0x113')](_0x14f6b1,['message']));});});};Preview[_0xeca9('0x68')][_0xeca9('0x116')]=function(_0x447ac7,_0x353110){var _0x82d77a=this;return new BPromise(function(_0x487729,_0xfde897){var _0x15955b,_0x43bf1a;rpcDb['getContactPreview'](_0x447ac7)[_0xeca9('0x84')](function(_0x12e77f){if(!_[_0xeca9('0x72')](_0x12e77f[0x0])){_0x43bf1a=_0x12e77f[0x0]['recallme']?![]:!![];_0x15955b=_0x12e77f[0x0][_0xeca9('0x117')]?!![]:![];_0x15955b=_0x353110?!![]:_0x15955b;}var _0x56bfe0=_0x82d77a['validateContact'](_0x12e77f);if(_0x56bfe0[_0xeca9('0x118')]){rpcDb[_0xeca9('0x119')](_['pick'](_0x12e77f[0x0],['VoiceQueueId',_0xeca9('0x11a')]))[_0xeca9('0x84')](function(_0x4ed351){_0x82d77a[_0xeca9('0x11b')](_0x4ed351,_0x12e77f[0x0],_0x353110,_0x43bf1a,_0x15955b)[_0xeca9('0x84')](function(_0x4a9de9){_0x487729(_0x4a9de9);})['catch'](function(_0x18d9bc){_0xfde897(_0x18d9bc);});})[_0xeca9('0x7c')](function(_0x36bd15){ut['logger'](_0xeca9('0x11c'),_0x36bd15);_0xfde897(ut[_0xeca9('0x50')]('Call\x20unsuccessful',_0x43bf1a,_0x15955b));});}else{_0xfde897(ut[_0xeca9('0x50')](_0x56bfe0[_0xeca9('0x50')],_0x43bf1a,_0x15955b));}})[_0xeca9('0x7c')](function(_0x5c246f){ut['logger'](_0xeca9('0x11d'),_0x5c246f);_0xfde897(ut[_0xeca9('0x50')](_0xeca9('0x11e'),![],!![]));});});};Preview[_0xeca9('0x68')][_0xeca9('0x11f')]=function(_0x13a77d){if(_[_0xeca9('0x72')](_0x13a77d)||_[_0xeca9('0x120')](_0x13a77d)||!_[_0xeca9('0x72')](_0x13a77d[0x0][_0xeca9('0x89')])&&_[_0xeca9('0x72')](_0x13a77d[0x0][_0xeca9('0x89')][_0xeca9('0x2a')])){ut[_0xeca9('0x63')](_0xeca9('0x121'),_0x13a77d);return{'isValid':![],'message':_0xeca9('0x122')};}var _0x3a90c0=this[_0xeca9('0x15')][_0x13a77d[0x0]['Queue'][_0xeca9('0x2a')]];_0x3a90c0[_0xeca9('0x50')]=_0xeca9('0x9b');if(_[_0xeca9('0x72')](_0x3a90c0)){ut['logger'](_0xeca9('0x123'),_0x3a90c0);return{'isValid':![],'message':_0xeca9('0x124')};}if(!this['isTrunkReachable'](_0x3a90c0[_0xeca9('0x56')])){ut[_0xeca9('0x63')](_0xeca9('0x125'),'campaign\x20Name:\x20'+_0x3a90c0['name']+'\x20Trunk\x20is\x20not\x20active');if(!this[_0xeca9('0x98')](_0x3a90c0['TrunkBackup'])){ut[_0xeca9('0x63')](_0xeca9('0x125'),_0x3a90c0[_0xeca9('0x2a')]+_0xeca9('0x126'));return{'isValid':![],'message':_0xeca9('0x127')};}}if(!ut[_0xeca9('0x97')](_0x3a90c0[_0xeca9('0x36')])){ut[_0xeca9('0x63')]('[Preview][validateContact][Campaign\x20Active]',_0x3a90c0['name']+_0xeca9('0x128'));return{'isValid':![],'message':_0xeca9('0x129')+_0x3a90c0[_0xeca9('0x2a')]+'\x20Not\x20Active'};}return{'isValid':!![],'message':_0xeca9('0x12a')};};Preview['prototype'][_0xeca9('0x105')]=function(_0x1cc504,_0x3ae668,_0x4b228c,_0x626d40){var _0x22d1d9=this;return new BPromise(function(_0x59517d,_0x502bcb){var _0x267bbd=_0x1cc504[_0xeca9('0xb4')];var _0x5d6e1c=_0x22d1d9['isTrunkReachable'](_0x3ae668['Trunk'])?util[_0xeca9('0x5f')](_0xeca9('0x12b'),_0x3ae668[_0xeca9('0x56')][_0xeca9('0x2a')],_[_0xeca9('0x72')](_0x3ae668['dialPrefix'])?'':_0x3ae668[_0xeca9('0x3b')][_0xeca9('0x12c')]()||'',_0x3ae668[_0xeca9('0x12d')]>0x0?_0x4b228c[_0xeca9('0x101')][_0xeca9('0x102')][_0xeca9('0x12e')](_0x3ae668[_0xeca9('0x12d')]):_0x4b228c[_0xeca9('0x101')][_0xeca9('0x102')]):util['format'](_0xeca9('0x12b'),_[_0xeca9('0x72')](_0x3ae668[_0xeca9('0x99')])?_0x3ae668['Trunk'][_0xeca9('0x2a')]:_0x3ae668[_0xeca9('0x99')]['name'],_[_0xeca9('0x72')](_0x3ae668[_0xeca9('0x3b')])?'':_0x3ae668['dialPrefix'][_0xeca9('0x12c')]()||'',_0x3ae668[_0xeca9('0x12d')]>0x0?_0x4b228c[_0xeca9('0x101')][_0xeca9('0x102')][_0xeca9('0x12e')](_0x3ae668['dialCutDigit']):_0x4b228c['Contact'][_0xeca9('0x102')]);var _0x1ea47b=_0x22d1d9[_0xeca9('0x98')](_0x3ae668[_0xeca9('0x56')])?ut[_0xeca9('0x12f')](_0x3ae668[_0xeca9('0x56')][_0xeca9('0x58')],_0x3ae668[_0xeca9('0x38')],_0x3ae668[_0xeca9('0x130')]>0x0?ut[_0xeca9('0x131')](_0x3ae668[_0xeca9('0x39')],_0x3ae668[_0xeca9('0x130')]):_0x3ae668[_0xeca9('0x39')]):ut[_0xeca9('0x12f')](_['isNil'](_0x3ae668[_0xeca9('0x99')])?_0x3ae668[_0xeca9('0x56')][_0xeca9('0x58')]:_0x3ae668[_0xeca9('0x99')][_0xeca9('0x58')],_0x3ae668[_0xeca9('0x38')],_0x3ae668[_0xeca9('0x130')]>0x0?ut[_0xeca9('0x131')](_0x3ae668[_0xeca9('0x39')],_0x3ae668[_0xeca9('0x130')]):_0x3ae668['dialOriginateCallerIdNumber']);if(_0x1ea47b){_0x1cc504[_0xeca9('0x132')]=ut[_0xeca9('0x133')](_0x1ea47b);_0x1cc504[_0xeca9('0x134')]=ut[_0xeca9('0x135')](_0x1ea47b);}var _0xf530f4=ut[_0xeca9('0x136')](_0x3ae668,_0x4b228c,_0x5d6e1c,_0x1ea47b,_0x267bbd,_0x1cc504);_[_0xeca9('0x137')](_0x1cc504,ut['toLowerVariables'](_0xf530f4));_0x1cc504[_0xeca9('0x138')]=moment()[_0xeca9('0x5f')](_0xeca9('0x139'));ami[_0xeca9('0x79')](ut['variablesAction'](_0x1cc504,_0x3ae668,_0xf530f4,_0x1cc504[_0xeca9('0xd9')],_0x626d40))[_0xeca9('0x84')](function(_0x3cab19){_0x3ae668[_0xeca9('0x51')]+=0x1;logger[_0xeca9('0x5d')](_0xeca9('0x13a'),_0x267bbd,_0xeca9('0xc1'),_0x3ae668[_0xeca9('0x2a')],'originated:\x20',_0x3ae668[_0xeca9('0x51')]);_0x59517d(_0x3cab19);})['catch'](function(_0x59b13a){ut['logAgent'](_0x1cc504,0xe,_0xeca9('0x13b'));rpcDb[_0xeca9('0xf8')](_0x1cc504,_0xeca9('0x13c'));_0x502bcb(_0x59b13a);});});};Preview[_0xeca9('0x68')][_0xeca9('0x23')]=function(_0x4ee586){if(this[_0xeca9('0x17')][_0x4ee586[_0xeca9('0xaf')]]){this[_0xeca9('0x17')][_0x4ee586[_0xeca9('0xaf')]][_0xeca9('0x7b')]=_0x4ee586['channel'];}};Preview['prototype'][_0xeca9('0x1b')]=function(_0x2e12b7){var _0xcd16ec=this;var _0x1bf451=this[_0xeca9('0x17')][_0x2e12b7['actionid']];if(_0x1bf451){if(_0x1bf451[_0xeca9('0x104')]&&this['agents'][_0x1bf451['lookAgent']]){ut[_0xeca9('0x13d')](_0x1bf451,this['agents'][_0x1bf451[_0xeca9('0x104')]]['name'],this['agents'][_0x1bf451[_0xeca9('0x104')]]['id']);}var _0x1d1142=_[_0xeca9('0x13e')](_0x1bf451);_0x1d1142[_0xeca9('0xb1')]=moment()[_0xeca9('0x5f')]('YYYY-MM-DD\x20HH:mm:ss');var _0x41afe5=_0xcd16ec[_0xeca9('0x15')][_0x1bf451['queue']];if(ut['isFailure'](_0x2e12b7['response'])){if(_0x1bf451[_0xeca9('0xae')]){rpcDb[_0xeca9('0x115')](_0x1bf451[_0xeca9('0x108')]);}if(_0x1bf451[_0xeca9('0xd9')]){rpcDb[_0xeca9('0x8d')](_0x1bf451[_0xeca9('0x108')]);}ami['emit']('custom:agentringnoanswer',ut['buildObj'](_0x1bf451,_0xeca9('0x13f'),this['campaignsPreview'][_0x1bf451[_0xeca9('0x74')]]));this[_0xeca9('0x140')](_0x1d1142,_0x41afe5,_0x2e12b7);}else{_0x1bf451[_0xeca9('0x138')]=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');ut['logAgent'](_0x1d1142,0x4,'Answer');rpcDb['createAgentHistory'](_0x1d1142,'[callProgressDetectingAgent][logAnswer]');}}};Preview['prototype'][_0xeca9('0x1d')]=function(_0x2bbf16){var _0x3b3325=this;var _0x215e63=this[_0xeca9('0x17')][_0x2bbf16[_0xeca9('0xaf')]];var _0x542ced;if(_0x215e63){_0x542ced=this[_0xeca9('0x15')][_0x215e63['queue']];logger['info']('[syncHangup][talking]',_0x2bbf16['linkedid'],_0xeca9('0xc1'),_0x542ced['name'],_0xeca9('0xb5'),_0x542ced[_0xeca9('0x2e')]);}if(this['actions'][_0x2bbf16[_0xeca9('0xaf')]]&&_0x2bbf16[_0xeca9('0xaf')]!==_0x2bbf16[_0xeca9('0xb4')]){if(_0x2bbf16[_0xeca9('0x141')]==='16'&&this[_0xeca9('0x17')][_0x2bbf16[_0xeca9('0xaf')]][_0xeca9('0x75')]){this[_0xeca9('0x9c')](_0x2bbf16,_0x2bbf16['linkedid'],_0x2bbf16[_0xeca9('0x141')]);}else if(this[_0xeca9('0x17')][_0x2bbf16[_0xeca9('0xaf')]][_0xeca9('0x75')]){logger['info']('[syncHangup][talking][cause]',_0x2bbf16[_0xeca9('0xaf')],_0x2bbf16[_0xeca9('0x141')],_0xeca9('0xc1'),_0x542ced[_0xeca9('0x2a')],_0xeca9('0xb5'),_0x542ced[_0xeca9('0x2e')]);this[_0xeca9('0x9c')](_0x2bbf16,_0x2bbf16[_0xeca9('0xaf')],_0x2bbf16[_0xeca9('0x141')]);}}else if(_0x215e63&&_[_0xeca9('0x72')](_0x215e63[_0xeca9('0x142')])&&_0x542ced[_0xeca9('0x143')]&&_0x2bbf16[_0xeca9('0xaf')]===_0x2bbf16['uniqueid']&&_[_0xeca9('0x72')](_0x2bbf16['reason'])&&_0x2bbf16['cause']==='16'&&_0x2bbf16[_0xeca9('0x144')]==='6'&&_[_0xeca9('0xf5')](_0x215e63['transfer'])){if(_0x215e63[_0xeca9('0xae')]){rpcDb['unlockContact'](_0x215e63[_0xeca9('0x108')]);}if(_0x215e63['activeContact']){rpcDb['disableContact'](_0x215e63[_0xeca9('0x108')]);}_0x2bbf16['reason']='22';this[_0xeca9('0x140')](_0x215e63,_0x542ced,_0x2bbf16);}else if(_0x215e63&&_0x215e63[_0xeca9('0x145')]){if(_0x2bbf16[_0xeca9('0x141')]==='16'&&this[_0xeca9('0x17')][_0x2bbf16[_0xeca9('0xaf')]]['dialAnswer']){logger['info']('[syncHangup][talking][transfer]',_0x2bbf16[_0xeca9('0xaf')],_0x2bbf16['cause'],_0xeca9('0xc1'),_0x542ced['name'],_0xeca9('0xb5'),_0x542ced[_0xeca9('0x2e')]);this[_0xeca9('0x9c')](_0x2bbf16,_0x2bbf16[_0xeca9('0xaf')],_0x2bbf16['cause']);}else if(this['actions'][_0x2bbf16[_0xeca9('0xaf')]][_0xeca9('0x75')]){logger['info'](_0xeca9('0x146'),_0x2bbf16[_0xeca9('0xaf')],_0x2bbf16[_0xeca9('0x141')],_0xeca9('0xc1'),_0x542ced[_0xeca9('0x2a')],_0xeca9('0xb5'),_0x542ced['pTalking']);this[_0xeca9('0x9c')](_0x2bbf16,_0x2bbf16[_0xeca9('0xaf')],_0x2bbf16[_0xeca9('0x141')]);}}};Preview[_0xeca9('0x68')][_0xeca9('0x21')]=function(_0x1871fa){if(this[_0xeca9('0x17')][_0x1871fa['destlinkedid']]&&_0x1871fa['destlinkedid']!==_0x1871fa[_0xeca9('0x147')]){this[_0xeca9('0x9c')](_0x1871fa,_0x1871fa[_0xeca9('0xf4')],_0x1871fa[_0xeca9('0xe8')]);}};Preview[_0xeca9('0x68')]['syncHangupRequest']=function(_0x3c1350){if(this['actions'][_0x3c1350[_0xeca9('0xaf')]]&&_0x3c1350['linkedid']!==_0x3c1350[_0xeca9('0xb4')]&&!this[_0xeca9('0x17')][_0x3c1350[_0xeca9('0xaf')]][_0xeca9('0x75')]){if(_0x3c1350[_0xeca9('0x141')]==='1'){this[_0xeca9('0x9c')](_0x3c1350,_0x3c1350[_0xeca9('0xaf')],_0x3c1350['cause']);}}};Preview['prototype'][_0xeca9('0x148')]=function(_0x5a99d9,_0x553e05,_0x48ee9e){if(this[_0xeca9('0x17')][_0x5a99d9]){if(_['isNil'](this[_0xeca9('0x17')][_0x5a99d9]['variables'])){this['actions'][_0x5a99d9]['variables']={};}this[_0xeca9('0x17')][_0x5a99d9]['variables'][_0x553e05]=_0x48ee9e;}};Preview[_0xeca9('0x68')][_0xeca9('0x149')]=function(_0x549899){try{if(!_[_0xeca9('0x72')](_0x549899)){if(ut[_0xeca9('0x14a')](_['keys'](_0x549899[_0xeca9('0x14b')])[0x0])){this[_0xeca9('0x148')](_0x549899['uniqueid'],_[_0xeca9('0x14c')](_0x549899['variable'])[0x0],_0x549899[_0xeca9('0x14d')]);}}}catch(_0x4d7e91){logger[_0xeca9('0x14e')]('[syncVarSet][Preview]',util[_0xeca9('0x14f')](_0x4d7e91,{'showHidden':![],'depth':null}));}};Preview[_0xeca9('0x68')][_0xeca9('0x25')]=function(_0x2c19fa){if(_0x2c19fa){if(this['actions'][_0x2c19fa[_0xeca9('0x150')]]){this[_0xeca9('0x17')][_0x2c19fa[_0xeca9('0x150')]]['transfer']=!![];}}};Preview[_0xeca9('0x68')][_0xeca9('0x151')]=function(_0x56c686){if(_0x56c686){if(this[_0xeca9('0x17')][_0x56c686[_0xeca9('0x152')]]){this[_0xeca9('0x17')][_0x56c686[_0xeca9('0x152')]]['transfer']=!![];}}};module['exports']=Preview;