bf8695bc5078f204c50f07af067fec935167a71e
[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 _0xf021=['unlockContact','getContactPreview','recallme','validateContact','isValid','checkInBlack','[Preview][checkIsBlackList]','Call\x20unsuccessful','[Preview][validateContact][Empty\x20Contact]','Empty\x20Campaign','[Preview][validateContact][Trunk\x20not\x20work]','campaign\x20Name:\x20','\x20Trunk\x20is\x20not\x20active','TrunkBackup','Trunk\x20not\x20work','\x20Not\x20Active','Is\x20Valid','SIP/%s/%s%s','trim','substring','dialCutDigit','getCallerId','dialRandomLastDigitCallerIdNumber','getCallerIdRandom','callerid','originatecalleridname','extractCalleridName','extractCalleridNumber','addVariables','toLowerVariables','Action','variablesAction','[originated][increment]','OriginateError','syncNewExten','actionid','clone','isFailure','rejected','[callProgressDetectingAgent][logAnswer]','[syncHangup][talking]','cause','[syncHangup][talking][cause]','statedesc','dialQueueProject','channelstate','transfer','destuniqueid','addVariable','variables','keys','variable','value','error','[syncVarSet][Preview]','transfertargetlinkedid','transfererlinkedid','exports','util','lodash','bluebird','uuid','moment','ioredis','../../../config/logger','preview','../ami','./action','./util/util','redis','defaults','socket.io-emitter','tail','finally','sequence','campaignsPreview','voiceQueues','trunks','actions','agents','syncOriginateResponse','bind','hangup','syncHangup','hanguprequest','syncHangupRequest','syncDialEnd','varset','syncVarSet','syncAttendedTransfer','blindtransfer','syncBlindTransfer','emit','type','outbound','name','strategy','answered','available','loggedIn','pTalking','sumBillable','sumHoldTime','talking','unmanaged','loggedInDb','dialActive','dialMethod','dialOriginateCallerIdName','dialOriginateCallerIdNumber','dialOriginateTimeout','dialPrefix','outboundBusyCallsDay','outboundCongestionCallsDay','outboundDropCallsDayACS','outboundNoAnswerCallsDay','outboundNoSuchCallsDay','outboundOriginateFailureCallsDay','outboundReCallsDay','outboundRejectCallsDay','outboundUnknownCallsDay','outboundAbandonedCallsDay','predictiveIntervalAnsweredCalls','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','predictiveIntervalDroppedCallsTimeout','predictiveIntervalErlangCallsDroppedCalls','predictiveIntervalHitRate','predictiveIntervalMultiplicativeFactor','predictiveIntervalPauses','predictiveIntervalAvailable','predictiveIntervalTotalCalls','erlangCalls','erlangCallToSecond','erlangBusyFactor','startProgressive','Trunk','active','Interval','stringify','md5','format','voice_queue:save','[DEBUG]\x20Emit\x20voice_queue_channel:remove\x20event','voice_queue_channel:remove','sendMessageOneNotActive','originated','message','NOT_ACTIVE','logger','[CampaignPreview]\x20Campaign\x20Queue:\x20','\x20is\x20not\x20active','IS_DISACTIVED','prototype','syncCampaigns','clockClearZombieChannels','hasOwnProperty','booked','setMessage','dialPreviewAutoRecallMe','clearZombieChannel','enqueue','isNil','info','[clearZombieChannels][talking]','Queue','queue','originated:\x20','dialAnswer','pick','contactId','UserId','VoiceQueueId','ListId','status','channel','catch','No\x20such\x20channel','updateOriginated','[clearZombieChannel]','loggerError','[Dialer][checkChannel][pTalking][Preview]','[Dialer][checkChannel][Preview]','[action]','size','recallMe','getContactRecallMe','then','length','getDiff','dialRecallMeTimeout','Agent','run','logger2','[RecallMe]','disableContact','starttime','YYYY-MM-DD\x20HH:mm:ss','logCustomer','RecallInQueue','dialRecallInQueue','rescheduleContactInQueue','createBody','createCustomerHistory','[HistoryDialRecallInQueue][historyCatch]','RecallFailedTimeout','createCustomerFinal','[HistoryRecallClose]','[getContactRecallMe]','IsNotLoggedIn','AGENTS_NOT_LOGGED','isActive','isTrunkReachable','TRUNK_IS_NOT_REACHABLE','ACTIVE','callProgressDetectingCustomer','countglobal','totalGlobal','NoSuchNumber','custom:agentnosuchnumber','nosuchnumber','[callProgressDetectingCustomer][logNoSuch]','dialGlobalMaxRetry','cloneAction','Global','[callProgressDetectingCustomer][logNoSuchGlobal]','dialNoSuchNumberMaxRetry','rescheduleContact','scheduledAt','countnosuchnumberretry','dialNoSuchNumberRetryFrequency','unlockAgent','activeContact','linkedid','responsetime','answertime','[syncHangup][talking][increment]','uniqueid','\x20Queue','pTalking:\x20','custom:agentconnect','buildObj','connect','custom:agentConnectPreview','custom:agentcomplete','complete','total','decrementTalkink','[16]','Answer','[callProgressDetectingCustomer][logAnswerGlobal]','sumDuration','talktime','[syncHangup][talking][decrement]','BUSY','countbusyretry','Busy','custom:agentbusy','busy','[callProgressDetectingCustomer][logBusy]','[callProgressDetectingCustomer][logBusyGlobal]','dialBusyMaxRetry','NOANSWER','countnoanswerretry','NoAnswer','custom:agentnoanswer','[callProgressDetectingCustomer][logNoAnswer]','[callProgressDetectingCustomer][logNoAnswerGlobal]','dialNoAnswerMaxRetry','dialNoAnswerRetryFrequency','CONGESTION','Congestion','custom:agentcongestion','congestion','[callProgressDetectingCustomer][logCongestion]','[callProgressDetectingCustomer][logCongestionGlobal]','countcongestionretry','dialCongestionMaxRetry','dialBusyRetryFrequency','CANCEL','countagentrejectretry','AgentReject','custom:agentreject','agentreject','[syncHangupRequest][logAgentReject]','[callProgressDetectingCustomer][logAgentReject]','ABANDONED','countabandonedretry','Abandoned','[callProgressDetectingCustomer][logAbandoned]','countabandonedetry','dialAbandonedMaxRety','dialAbandonedRetryFrequency','countmachineretry','cause-txt','dialstatus','custom:amd','amd','[callProgressDetectingCustomer][hangupInAMD]','[callProgressDetectingCustomer][machine]','[default]','[Dialer][decrementTalkink][no\x20Hangup][Preview]','[callProgressDetectingCustomer][logUnknown]','[callProgressDetectingCustomer][logUnknownGlobal]','[callProgressDetectingCustomer]','[originated][decrement][callProgressDetectingCustomer]','destlinkedid','callProgressDetectingAgent','isUndefined','object','reason','createAgentHistory','[callProgressDetectingAgent][logNoSuch]','logAgent','[callProgressDetectingAgent][logNoAnswer]','[callProgressDetectingAgent][logBusy]','[callProgressDetectingAgent][logCongestion]','AnswerAGI','[callProgressDetectingAgent][logAnswerAGI]','[callProgressDetectingAgent]','Contact','phone','Contact\x20is\x20undefined','lookAgent','isEmpty','execCall','[Preview][execCall][success]','Queue:\x20','idContact','called','Calling','[Preview][execCall][failure]','outboundBlacklistCallsDay','logBlacklist','[Blacklist][error]','Contact\x20in\x20black\x20List','SIP/%s','reachable','unmonitored','execRun','unlock'];(function(_0x2247ab,_0x3f4162){var _0x430062=function(_0x591dd7){while(--_0x591dd7){_0x2247ab['push'](_0x2247ab['shift']());}};_0x430062(++_0x3f4162);}(_0xf021,0x18f));var _0x1f02=function(_0x86dbdc,_0x31693b){_0x86dbdc=_0x86dbdc-0x0;var _0x42c1fd=_0xf021[_0x86dbdc];return _0x42c1fd;};'use strict';var util=require(_0x1f02('0x0'));var _=require(_0x1f02('0x1'));var BPromise=require(_0x1f02('0x2'));var uuid=require(_0x1f02('0x3'));var moment=require(_0x1f02('0x4'));var md5=require('md5');var Redis=require(_0x1f02('0x5'));var config=require('../../../config/environment');var logger=require(_0x1f02('0x6'))(_0x1f02('0x7'));var loggerAction=require('../../../config/logger')('actionPreview');var ami=require(_0x1f02('0x8'));var rpcDb=require('./rpcDb');var Action=require(_0x1f02('0x9'));var ut=require(_0x1f02('0xa'));config[_0x1f02('0xb')]=_[_0x1f02('0xc')](config[_0x1f02('0xb')],{'host':'localhost','port':0x18eb});var io=require(_0x1f02('0xd'))(new Redis(config['redis']));var Sequence=function(){};Sequence['prototype']['enqueue']=function(_0x669b5a){this[_0x1f02('0xe')]=this[_0x1f02('0xe')]?this[_0x1f02('0xe')][_0x1f02('0xf')](_0x669b5a):_0x669b5a();};function Preview(_0x5e31e1){this[_0x1f02('0x10')]=new Sequence();this[_0x1f02('0x11')]=_0x5e31e1[_0x1f02('0x12')];this['trunks']=_0x5e31e1[_0x1f02('0x13')];this[_0x1f02('0x14')]={};this[_0x1f02('0x15')]=_0x5e31e1['agents'];this['clockClearZombieChannels']=0x0;ami['on']('originateresponse',this[_0x1f02('0x16')][_0x1f02('0x17')](this));ami['on'](_0x1f02('0x18'),this[_0x1f02('0x19')][_0x1f02('0x17')](this));ami['on'](_0x1f02('0x1a'),this[_0x1f02('0x1b')][_0x1f02('0x17')](this));ami['on']('dialend',this[_0x1f02('0x1c')]['bind'](this));ami['on']('newexten',this['syncNewExten']['bind'](this));ami['on'](_0x1f02('0x1d'),this[_0x1f02('0x1e')][_0x1f02('0x17')](this));ami['on']('attendedtransfer',this[_0x1f02('0x1f')][_0x1f02('0x17')](this));ami['on'](_0x1f02('0x20'),this[_0x1f02('0x21')]['bind'](this));this['loopCampaigns'](this[_0x1f02('0x11')]);}function emit(_0x37393a,_0x5e78c2,_0x5b399a){io['to'](_0x37393a)[_0x1f02('0x22')](_0x5e78c2,_0x5b399a);}function emitCampaignPreview(_0xbdf82a){if(_0xbdf82a[_0x1f02('0x23')]===_0x1f02('0x24')){var _0x480297={'id':_0xbdf82a['id'],'name':_0xbdf82a[_0x1f02('0x25')],'strategy':_0xbdf82a[_0x1f02('0x26')],'answered':_0xbdf82a[_0x1f02('0x27')],'available':_0xbdf82a[_0x1f02('0x28')],'loggedIn':_0xbdf82a[_0x1f02('0x29')],'pTalking':_0xbdf82a[_0x1f02('0x2a')],'sumBillable':_0xbdf82a[_0x1f02('0x2b')],'sumDuration':_0xbdf82a['sumDuration'],'sumHoldTime':_0xbdf82a[_0x1f02('0x2c')]||0x0,'talking':_0xbdf82a[_0x1f02('0x2d')],'total':_0xbdf82a['total'],'type':_0xbdf82a[_0x1f02('0x23')],'unmanaged':_0xbdf82a[_0x1f02('0x2e')],'abandoned':_0xbdf82a['abandoned'],'waiting':_0xbdf82a['waiting'],'loggedInDb':_0xbdf82a[_0x1f02('0x2f')],'dialActive':_0xbdf82a[_0x1f02('0x30')],'dialMethod':_0xbdf82a[_0x1f02('0x31')],'dialOriginateCallerIdName':_0xbdf82a[_0x1f02('0x32')],'dialOriginateCallerIdNumber':_0xbdf82a[_0x1f02('0x33')],'dialOriginateTimeout':_0xbdf82a[_0x1f02('0x34')],'dialPrefix':_0xbdf82a[_0x1f02('0x35')],'outboundAnswerAgiCallsDay':_0xbdf82a['outboundAnswerAgiCallsDay'],'outboundAnswerCallsDay':_0xbdf82a['outboundAnswerCallsDay'],'outboundBlacklistCallsDay':_0xbdf82a['outboundBlacklistCallsDay'],'outboundBusyCallsDay':_0xbdf82a[_0x1f02('0x36')],'outboundCongestionCallsDay':_0xbdf82a[_0x1f02('0x37')],'outboundDropCallsDayACS':_0xbdf82a[_0x1f02('0x38')],'outboundDropCallsDayCallersExit':_0xbdf82a['outboundDropCallsDayCallersExit'],'outboundDropCallsDayTimeout':_0xbdf82a['outboundDropCallsDayTimeout'],'outboundNoAnswerCallsDay':_0xbdf82a[_0x1f02('0x39')],'outboundNoSuchCallsDay':_0xbdf82a[_0x1f02('0x3a')],'outboundOriginateFailureCallsDay':_0xbdf82a[_0x1f02('0x3b')],'outboundReCallsDay':_0xbdf82a[_0x1f02('0x3c')],'outboundRejectCallsDay':_0xbdf82a[_0x1f02('0x3d')],'outboundUnknownCallsDay':_0xbdf82a[_0x1f02('0x3e')],'outboundAbandonedCallsDay':_0xbdf82a[_0x1f02('0x3f')],'predictiveIntervalAnsweredCalls':_0xbdf82a[_0x1f02('0x40')],'predictiveIntervalAvgHoldtime':_0xbdf82a[_0x1f02('0x41')],'predictiveIntervalAvgTalktime':_0xbdf82a[_0x1f02('0x42')],'predictiveIntervalDroppedCallsCallersExit':_0xbdf82a['predictiveIntervalDroppedCallsCallersExit'],'predictiveIntervalDroppedCallsTimeout':_0xbdf82a[_0x1f02('0x43')],'predictiveIntervalErlangCalls':_0xbdf82a['predictiveIntervalErlangCalls'],'predictiveIntervalErlangCallsDroppedCalls':_0xbdf82a[_0x1f02('0x44')],'predictiveIntervalHitRate':_0xbdf82a[_0x1f02('0x45')],'predictiveIntervalMultiplicativeFactor':_0xbdf82a[_0x1f02('0x46')],'predictiveIntervalPauses':_0xbdf82a[_0x1f02('0x47')],'predictiveIntervalAvailable':_0xbdf82a[_0x1f02('0x48')],'predictiveIntervalTotalCalls':_0xbdf82a[_0x1f02('0x49')],'message':_0xbdf82a['message'],'originated':_0xbdf82a['originated'],'erlangCalls':_0xbdf82a[_0x1f02('0x4a')],'erlangCallToSecond':_0xbdf82a[_0x1f02('0x4b')],'erlangAbandonmentRate':_0xbdf82a['erlangAbandonmentRate'],'erlangBusyFactor':_0xbdf82a[_0x1f02('0x4c')],'startPredictive':_0xbdf82a['startPredictive'],'startProgressive':_0xbdf82a[_0x1f02('0x4d')]};if(_0xbdf82a['Trunk']){_0x480297[_0x1f02('0x4e')]={'id':_0xbdf82a['Trunk']['id'],'name':_0xbdf82a['Trunk'][_0x1f02('0x25')],'active':_0xbdf82a[_0x1f02('0x4e')][_0x1f02('0x4f')],'callerid':_0xbdf82a[_0x1f02('0x4e')]['callerid']};}if(_0xbdf82a[_0x1f02('0x50')]){_0x480297[_0x1f02('0x50')]={'id':_0xbdf82a[_0x1f02('0x50')]['id'],'name':_0xbdf82a['Interval'][_0x1f02('0x25')]};}var _0x3454aa=md5(JSON[_0x1f02('0x51')](_0x480297));if(_0xbdf82a[_0x1f02('0x52')]!==_0x3454aa){_0xbdf82a[_0x1f02('0x52')]=_0x3454aa;emit(util[_0x1f02('0x53')]('voice:queue:%s',_0x480297[_0x1f02('0x25')]),_0x1f02('0x54'),_0x480297);}}}function emitVoiceQueueChannelRemove(_0x1ad162){logger['info'](_0x1f02('0x55'),JSON['stringify'](_0x1ad162));emit(util[_0x1f02('0x53')]('voice:queue:%s',_0x1ad162['name']),_0x1f02('0x56'),_0x1ad162);io['emit']('voice_queue_presence:remove',_0x1ad162);}function notSendMessagesQueue(_0x3ec5bd){if(_0x3ec5bd[_0x1f02('0x57')]){if(_0x3ec5bd[_0x1f02('0x58')]===0x0&&_0x3ec5bd[_0x1f02('0x2a')]===0x0){_0x3ec5bd['sendMessageOneNotActive']=![];_0x3ec5bd[_0x1f02('0x28')]=0x0;_0x3ec5bd['paused']=0x0;_0x3ec5bd[_0x1f02('0x59')]=_0x1f02('0x5a');ut[_0x1f02('0x5b')](_0x1f02('0x5c'),_0x3ec5bd[_0x1f02('0x25')]+_0x1f02('0x5d'));}else{_0x3ec5bd[_0x1f02('0x59')]=_0x1f02('0x5e');ut[_0x1f02('0x5b')]('[CampaignPreview]\x20Campaign\x20Queue:\x20',_0x3ec5bd[_0x1f02('0x25')]+'\x20is\x20disactive');}emitCampaignPreview(_0x3ec5bd);}}Preview[_0x1f02('0x5f')]['loopCampaigns']=function(){var _0x3d895a=this;setInterval(function(){_0x3d895a[_0x1f02('0x60')]();},0x7cf);};Preview[_0x1f02('0x5f')]['syncCampaigns']=function(){var _0x5938e1=this[_0x1f02('0x11')];this[_0x1f02('0x61')]+=0x1;for(var _0x37d6b5 in _0x5938e1){if(_0x5938e1[_0x1f02('0x62')](_0x37d6b5)&&(_0x5938e1[_0x37d6b5][_0x1f02('0x31')]===_0x1f02('0x7')||_0x5938e1[_0x37d6b5][_0x1f02('0x31')]===_0x1f02('0x63'))&&_0x5938e1[_0x37d6b5][_0x1f02('0x23')]==='outbound'){if(this[_0x1f02('0x61')]>0x7){this['clockClearZombieChannels']=0x0;this['clearZombieChannels']();}}if(_0x5938e1[_0x1f02('0x62')](_0x37d6b5)&&_0x5938e1[_0x37d6b5]['dialMethod']==='preview'&&_0x5938e1[_0x37d6b5][_0x1f02('0x23')]==='outbound'){if(_0x5938e1[_0x37d6b5]['dialActive']){this[_0x1f02('0x64')](_0x5938e1[_0x37d6b5]);if(_0x5938e1[_0x37d6b5][_0x1f02('0x65')])this['recallMe'](_0x5938e1[_0x37d6b5]);}else{notSendMessagesQueue(_0x5938e1[_0x37d6b5]);}}}};Preview[_0x1f02('0x5f')][_0x1f02('0x66')]=function(_0x64314b){var _0x3b1f5b=this;this['sequence'][_0x1f02('0x67')](function(){if(!_[_0x1f02('0x68')](_0x3b1f5b[_0x1f02('0x14')][_0x64314b])){loggerAction[_0x1f02('0x69')](_0x1f02('0x6a'),_0x64314b,_0x1f02('0x6b'),_0x3b1f5b[_0x1f02('0x14')][_0x64314b][_0x1f02('0x6c')],_0x1f02('0x6d'),JSON[_0x1f02('0x51')](_0x3b1f5b[_0x1f02('0x11')][_0x3b1f5b[_0x1f02('0x14')][_0x64314b][_0x1f02('0x6c')]][_0x1f02('0x58')]),'pTalking:\x20',JSON[_0x1f02('0x51')](_0x3b1f5b['campaignsPreview'][_0x3b1f5b[_0x1f02('0x14')][_0x64314b]['queue']][_0x1f02('0x2a')]),JSON[_0x1f02('0x51')](_0x3b1f5b[_0x1f02('0x14')][_0x64314b][_0x1f02('0x6e')]),JSON[_0x1f02('0x51')](_[_0x1f02('0x6f')](_0x3b1f5b[_0x1f02('0x14')][_0x64314b],[_0x1f02('0x70'),_0x1f02('0x71'),_0x1f02('0x72'),_0x1f02('0x73')])));return ami['Action']({'action':_0x1f02('0x74'),'channel':_0x3b1f5b[_0x1f02('0x14')][_0x64314b][_0x1f02('0x75')]})[_0x1f02('0x76')](function(_0x17f927){if(_0x17f927[_0x1f02('0x59')]===_0x1f02('0x77')){setTimeout(function(){if(_0x3b1f5b[_0x1f02('0x14')][_0x64314b]){ut[_0x1f02('0x78')](_0x3b1f5b['campaignsPreview'][_0x3b1f5b[_0x1f02('0x14')][_0x64314b][_0x1f02('0x6c')]],_0x1f02('0x79'));if(_0x3b1f5b[_0x1f02('0x14')][_0x64314b][_0x1f02('0x6e')]===!![]){ut['decrementTalkink'](_0x3b1f5b[_0x1f02('0x11')][_0x3b1f5b['actions'][_0x64314b][_0x1f02('0x6c')]],_0x1f02('0x79'));ut[_0x1f02('0x7a')](_0x1f02('0x7b')+_0x64314b,_0x3b1f5b[_0x1f02('0x14')][_0x64314b][_0x1f02('0x6c')]);}ut[_0x1f02('0x7a')](_0x1f02('0x7c')+_0x64314b,_0x3b1f5b[_0x1f02('0x14')][_0x64314b][_0x1f02('0x6c')]);delete _0x3b1f5b['actions'][_0x64314b];}},0x2328);}});}});};Preview['prototype']['clearZombieChannels']=function(){var _0x39dbee=this;loggerAction['info'](_0x1f02('0x7d'),_[_0x1f02('0x7e')](this['actions']));for(var _0x5a8768 in this['actions']){if(_0x39dbee['actions']['hasOwnProperty'](_0x5a8768)){_0x39dbee[_0x1f02('0x66')](_0x5a8768);}}};Preview[_0x1f02('0x5f')][_0x1f02('0x7f')]=function(_0x390df6){var _0xbb603=this;rpcDb[_0x1f02('0x80')](_0x390df6['id'],ut['agentReadyId'](this[_0x1f02('0x15')]))[_0x1f02('0x81')](function(_0x496e3c){if(!_['isNil'](_0x496e3c)){for(var _0x2b0e0d=0x0;_0x2b0e0d<_0x496e3c[_0x1f02('0x82')];_0x2b0e0d+=0x1){if(ut[_0x1f02('0x83')](_0x496e3c[_0x2b0e0d]['scheduledat'])<_0x390df6[_0x1f02('0x84')]*0x3c){if(_0x496e3c[_0x2b0e0d]['Agent']&&!_0x496e3c[_0x2b0e0d][_0x1f02('0x85')]['voicePause']){_0xbb603[_0x1f02('0x86')](_0x496e3c[_0x2b0e0d]['id'])[_0x1f02('0x81')](ut[_0x1f02('0x87')](_0x1f02('0x88')))[_0x1f02('0x76')](ut[_0x1f02('0x87')](_0x1f02('0x88')));}else{rpcDb[_0x1f02('0x89')](_0x496e3c[_0x2b0e0d]['id']);}}else{var _0x3ced51=new Action(_0x496e3c[_0x2b0e0d],_0x390df6);_0x3ced51[_0x1f02('0x8a')]=moment()[_0x1f02('0x53')](_0x1f02('0x8b'));_0x390df6[_0x1f02('0x3c')]+=0x1;ut[_0x1f02('0x8c')](_0x3ced51,0x17,_0x1f02('0x8d'));if(_0x390df6[_0x1f02('0x8e')]){rpcDb[_0x1f02('0x8f')](ut[_0x1f02('0x90')](_0x496e3c[_0x2b0e0d]));rpcDb[_0x1f02('0x91')](_0x3ced51,_0x1f02('0x92'));}else{ut['logCustomer'](_0x3ced51,0x16,_0x1f02('0x93'));rpcDb[_0x1f02('0x91')](_0x3ced51,'[HistoryRecallClose]');rpcDb[_0x1f02('0x94')](_0x3ced51,_0x1f02('0x95'));}}}}})['catch'](ut[_0x1f02('0x87')](_0x1f02('0x96')));};Preview[_0x1f02('0x5f')]['setMessage']=function(_0x4b8f28){_0x4b8f28[_0x1f02('0x57')]=!![];if(ut[_0x1f02('0x97')](_0x4b8f28[_0x1f02('0x29')])){_0x4b8f28[_0x1f02('0x59')]=_0x1f02('0x98');}else if(!ut[_0x1f02('0x99')](_0x4b8f28[_0x1f02('0x30')])){_0x4b8f28[_0x1f02('0x59')]=_0x1f02('0x5a');}else if(!this[_0x1f02('0x9a')](_0x4b8f28['Trunk'])){if(!this[_0x1f02('0x9a')](_0x4b8f28['TrunkBackup'])){_0x4b8f28['message']=_0x1f02('0x9b');}else{_0x4b8f28[_0x1f02('0x59')]=_0x1f02('0x9c');}}else{_0x4b8f28[_0x1f02('0x59')]=_0x1f02('0x9c');}emitCampaignPreview(_0x4b8f28);};Preview[_0x1f02('0x5f')][_0x1f02('0x9d')]=function(_0x8c0926,_0x31161e,_0x7ea7aa){var _0x16722d=this;var _0x30deb9=this[_0x1f02('0x14')][_0x31161e];var _0x5632a1=this['campaignsPreview'][_0x30deb9[_0x1f02('0x6c')]];var _0x342e60;if(_0x5632a1){switch(_0x7ea7aa){case'1':_0x5632a1['outboundNoSuchCallsDay']+=0x1;_0x30deb9['countnosuchnumberretry']+=0x1;_0x30deb9[_0x1f02('0x9e')]=ut[_0x1f02('0x9f')](_0x30deb9);ut[_0x1f02('0x8c')](_0x30deb9,0x0,_0x1f02('0xa0'));ami[_0x1f02('0x22')](_0x1f02('0xa1'),ut['buildObj'](_0x30deb9,_0x1f02('0xa2')));rpcDb['createCustomerHistory'](_0x30deb9,_0x1f02('0xa3'));if(ut[_0x1f02('0x9f')](_0x30deb9)>=_0x5632a1[_0x1f02('0xa4')]){_0x342e60=ut[_0x1f02('0xa5')](_0x30deb9,0xf,_0x1f02('0xa6'));rpcDb[_0x1f02('0x94')](_0x342e60,_0x1f02('0xa7'));}else{if(_0x30deb9['countnosuchnumberretry']>=_0x5632a1[_0x1f02('0xa8')]){rpcDb[_0x1f02('0x94')](_0x30deb9,_0x1f02('0xa7'));}else{rpcDb[_0x1f02('0xa9')](ut[_0x1f02('0xaa')](_0x30deb9,_0x1f02('0xab'),_0x5632a1[_0x1f02('0xac')]),_0x30deb9[_0x1f02('0xad')],_0x30deb9[_0x1f02('0xae')]);}}delete this[_0x1f02('0x14')][_0x8c0926[_0x1f02('0xaf')]];break;case'ANSWER':var _0x572965=moment()[_0x1f02('0x53')](_0x1f02('0x8b'));_0x30deb9[_0x1f02('0xb0')]=_0x572965;_0x30deb9[_0x1f02('0xb1')]=_0x572965;_0x30deb9[_0x1f02('0x6e')]=!![];_0x5632a1[_0x1f02('0x2a')]+=0x1;logger[_0x1f02('0x69')](_0x1f02('0xb2'),_0x30deb9[_0x1f02('0xb3')],_0x1f02('0xb4'),_0x5632a1[_0x1f02('0x25')],_0x1f02('0xb5'),_0x5632a1[_0x1f02('0x2a')]);ami[_0x1f02('0x22')](_0x1f02('0xb6'),ut[_0x1f02('0xb7')](_0x30deb9,_0x1f02('0xb8'),this[_0x1f02('0x11')][_0x30deb9['queue']]));if(_0x5632a1['acw']){ami[_0x1f02('0x22')](_0x1f02('0xb9'),ut['buildAcw'](_0x30deb9));}break;case'16':ami[_0x1f02('0x22')](_0x1f02('0xba'),ut[_0x1f02('0xb7')](_0x30deb9,_0x1f02('0xbb'),this[_0x1f02('0x11')][_0x30deb9[_0x1f02('0x6c')]]));emitVoiceQueueChannelRemove(ut[_0x1f02('0xb7')](_0x30deb9,_0x1f02('0xbb')));_0x5632a1['outboundAnswerCallsDay']+=0x1;_0x5632a1[_0x1f02('0xbc')]+=0x1;_0x5632a1[_0x1f02('0x27')]+=0x1;ut[_0x1f02('0xbd')](_0x5632a1,_0x1f02('0xbe'));_0x30deb9[_0x1f02('0x9e')]=ut[_0x1f02('0x9f')](_0x30deb9);ut[_0x1f02('0x8c')](_0x30deb9,0x4,_0x1f02('0xbf'));rpcDb[_0x1f02('0x91')](_0x30deb9,'[callProgressDetectingCustomer][logAnswer]');rpcDb[_0x1f02('0x94')](_0x30deb9,_0x1f02('0xc0'));rpcDb['crateCustomerReportQueue'](_0x30deb9);_0x5632a1[_0x1f02('0xc1')]+=_0x30deb9['talktime'];_0x5632a1[_0x1f02('0x2b')]+=_0x30deb9[_0x1f02('0xc2')];logger[_0x1f02('0x69')](_0x1f02('0xc3'),_0x30deb9[_0x1f02('0xb3')],_0x1f02('0xb4'),_0x5632a1[_0x1f02('0x25')],_0x1f02('0xb5'),_0x5632a1[_0x1f02('0x2a')]);delete this[_0x1f02('0x14')][_0x8c0926[_0x1f02('0xaf')]];break;case _0x1f02('0xc4'):_0x5632a1[_0x1f02('0x36')]+=0x1;_0x30deb9[_0x1f02('0xc5')]+=0x1;_0x30deb9[_0x1f02('0x9e')]=ut[_0x1f02('0x9f')](_0x30deb9);ut[_0x1f02('0x8c')](_0x30deb9,0x5,_0x1f02('0xc6'));ami[_0x1f02('0x22')](_0x1f02('0xc7'),ut[_0x1f02('0xb7')](_0x30deb9,_0x1f02('0xc8')));rpcDb[_0x1f02('0x91')](_0x30deb9,_0x1f02('0xc9'));if(ut[_0x1f02('0x9f')](_0x30deb9)>=_0x5632a1[_0x1f02('0xa4')]){_0x342e60=ut['cloneAction'](_0x30deb9,0xf,_0x1f02('0xa6'));rpcDb[_0x1f02('0x94')](_0x342e60,_0x1f02('0xca'));}else{if(_0x30deb9['countbusyretry']>=_0x5632a1[_0x1f02('0xcb')]){rpcDb[_0x1f02('0x94')](_0x30deb9,_0x1f02('0xc9'));}else{rpcDb[_0x1f02('0xa9')](ut[_0x1f02('0xaa')](_0x30deb9,_0x1f02('0xc5'),_0x5632a1['dialBusyRetryFrequency']),_0x30deb9['unlockAgent'],_0x30deb9[_0x1f02('0xae')]);}}break;case _0x1f02('0xcc'):_0x5632a1['outboundNoAnswerCallsDay']+=0x1;_0x30deb9[_0x1f02('0xcd')]+=0x1;_0x30deb9[_0x1f02('0x9e')]=ut[_0x1f02('0x9f')](_0x30deb9);ut['logCustomer'](_0x30deb9,0x3,_0x1f02('0xce'));ami[_0x1f02('0x22')](_0x1f02('0xcf'),ut[_0x1f02('0xb7')](_0x30deb9,'noanswer'));rpcDb['createCustomerHistory'](_0x30deb9,_0x1f02('0xd0'));if(ut[_0x1f02('0x9f')](_0x30deb9)>=_0x5632a1['dialGlobalMaxRetry']){_0x342e60=ut['cloneAction'](_0x30deb9,0xf,_0x1f02('0xa6'));rpcDb[_0x1f02('0x94')](_0x342e60,_0x1f02('0xd1'));}else{if(_0x30deb9[_0x1f02('0xcd')]>=_0x5632a1[_0x1f02('0xd2')]){rpcDb['createCustomerFinal'](_0x30deb9,_0x1f02('0xd0'));}else{rpcDb['rescheduleContact'](ut[_0x1f02('0xaa')](_0x30deb9,_0x1f02('0xcd'),_0x5632a1[_0x1f02('0xd3')]),_0x30deb9['unlockAgent'],_0x30deb9[_0x1f02('0xae')]);}}break;case _0x1f02('0xd4'):_0x5632a1[_0x1f02('0x37')]+=0x1;_0x30deb9['countcongestionretry']+=0x1;_0x30deb9[_0x1f02('0x9e')]=ut[_0x1f02('0x9f')](_0x30deb9);ut[_0x1f02('0x8c')](_0x30deb9,0x8,_0x1f02('0xd5'));ami['emit'](_0x1f02('0xd6'),ut['buildObj'](_0x30deb9,_0x1f02('0xd7')));rpcDb['createCustomerHistory'](_0x30deb9,_0x1f02('0xd8'));if(ut['totalGlobal'](_0x30deb9)>=_0x5632a1[_0x1f02('0xa4')]){_0x342e60=ut[_0x1f02('0xa5')](_0x30deb9,0xf,'Global');rpcDb[_0x1f02('0x94')](_0x342e60,_0x1f02('0xd9'));}else{if(_0x30deb9[_0x1f02('0xda')]>=_0x5632a1[_0x1f02('0xdb')]){rpcDb[_0x1f02('0x94')](_0x30deb9,'[callProgressDetectingCustomer][logCongestion]');}else{rpcDb[_0x1f02('0xa9')](ut[_0x1f02('0xaa')](_0x30deb9,_0x1f02('0xda'),_0x5632a1[_0x1f02('0xdc')]),_0x30deb9[_0x1f02('0xad')],_0x30deb9['activeContact']);}}break;case _0x1f02('0xdd'):_0x5632a1[_0x1f02('0x3d')]+=0x1;_0x30deb9[_0x1f02('0xde')]+=0x1;_0x30deb9[_0x1f02('0x9e')]=ut['totalGlobal'](_0x30deb9);ut['logCustomer'](_0x30deb9,0x14,_0x1f02('0xdf'));ami['emit'](_0x1f02('0xe0'),ut[_0x1f02('0xb7')](_0x30deb9,_0x1f02('0xe1')));rpcDb[_0x1f02('0x91')](_0x30deb9,_0x1f02('0xe2'));if(ut[_0x1f02('0x9f')](_0x30deb9)>=_0x5632a1[_0x1f02('0xa4')]){_0x342e60=ut[_0x1f02('0xa5')](_0x30deb9,0x14,'AgentReject');rpcDb[_0x1f02('0x94')](_0x342e60,_0x1f02('0xe3'));}else{if(_0x30deb9['countagentrejectretry']>=_0x5632a1['dialAgentRejectMaxRetry']){rpcDb[_0x1f02('0x94')](_0x30deb9,'[callProgressDetectingCustomer][logAgentReject]');}else{rpcDb[_0x1f02('0xa9')](ut['scheduledAt'](_0x30deb9,_0x1f02('0xde'),_0x5632a1['dialAgentRejectRetryFrequency']),_0x30deb9[_0x1f02('0xad')],_0x30deb9[_0x1f02('0xae')]);}}break;case _0x1f02('0xe4'):_0x5632a1['outboundAbandonedCallsDay']+=0x1;_0x30deb9[_0x1f02('0xe5')]+=0x1;_0x30deb9[_0x1f02('0x9e')]=ut['totalGlobal'](_0x30deb9);ut[_0x1f02('0x8c')](_0x30deb9,0xb,_0x1f02('0xe6'));rpcDb[_0x1f02('0x91')](_0x30deb9,_0x1f02('0xe7'));if(ut[_0x1f02('0x9f')](_0x30deb9)>=_0x5632a1[_0x1f02('0xa4')]){_0x342e60=ut[_0x1f02('0xa5')](_0x30deb9,0xf,_0x1f02('0xa6'));rpcDb[_0x1f02('0x94')](_0x342e60,'[callProgressDetectingCustomer][logAbandoned]');}else{if(_0x30deb9[_0x1f02('0xe8')]>=_0x5632a1[_0x1f02('0xe9')]){rpcDb[_0x1f02('0x94')](_0x30deb9,'[callProgressDetectingCustomer][logAbandoned]');}else{rpcDb[_0x1f02('0xa9')](ut[_0x1f02('0xaa')](_0x30deb9,_0x1f02('0xe5'),_0x5632a1[_0x1f02('0xea')]),_0x30deb9[_0x1f02('0xad')],_0x30deb9[_0x1f02('0xae')]);}}break;case'18':_0x5632a1[_0x1f02('0x3e')]+=0x1;_0x30deb9[_0x1f02('0xeb')]+=0x1;_0x30deb9[_0x1f02('0x9e')]=ut['totalGlobal'](_0x30deb9);ut[_0x1f02('0x8c')](_0x30deb9,0x12,_0x8c0926[_0x1f02('0xec')]||_0x8c0926[_0x1f02('0xed')]);ami['emit'](_0x1f02('0xee'),ut['buildObj'](_0x30deb9,_0x1f02('0xef')));rpcDb[_0x1f02('0x91')](_0x30deb9,_0x1f02('0xf0'));if(ut[_0x1f02('0x9f')](_0x30deb9)>=_0x5632a1[_0x1f02('0xa4')]){_0x342e60=ut[_0x1f02('0xa5')](_0x30deb9,0xf,'Global');rpcDb['createCustomerFinal'](_0x342e60,_0x1f02('0xf0'));}else{rpcDb[_0x1f02('0x94')](_0x30deb9,'[callProgressDetectingCustomer][hangupInAMD]');}delete this[_0x1f02('0x14')][_0x8c0926[_0x1f02('0xaf')]];break;case'19':_0x5632a1[_0x1f02('0x3e')]+=0x1;_0x30deb9[_0x1f02('0x9e')]=ut[_0x1f02('0x9f')](_0x30deb9);ut[_0x1f02('0x8c')](_0x30deb9,0x13,_0x8c0926[_0x1f02('0xec')]||_0x8c0926['dialstatus']);ami[_0x1f02('0x22')]('custom:amd',ut[_0x1f02('0xb7')](_0x30deb9,_0x1f02('0xef')));rpcDb[_0x1f02('0x91')](_0x30deb9,_0x1f02('0xf1'));if(ut[_0x1f02('0x9f')](_0x30deb9)>=_0x5632a1[_0x1f02('0xa4')]){_0x342e60=ut[_0x1f02('0xa5')](_0x30deb9,0xf,_0x1f02('0xa6'));rpcDb[_0x1f02('0x94')](_0x342e60,_0x1f02('0xf1'));}else{rpcDb[_0x1f02('0x94')](_0x30deb9,_0x1f02('0xf1'));}delete this[_0x1f02('0x14')][_0x8c0926[_0x1f02('0xaf')]];break;default:if(_0x30deb9['dialAnswer']){ut['decrementTalkink'](_0x5632a1,_0x1f02('0xf2'));ut[_0x1f02('0x7a')](_0x1f02('0xf3')+_0x5632a1['name'],_0x8c0926);}_0x5632a1[_0x1f02('0x3e')]+=0x1;_0x30deb9[_0x1f02('0x9e')]=ut[_0x1f02('0x9f')](_0x30deb9);ut[_0x1f02('0x8c')](_0x30deb9,0xc,_0x8c0926[_0x1f02('0xec')]||_0x8c0926[_0x1f02('0xed')]);rpcDb[_0x1f02('0x91')](_0x30deb9,_0x1f02('0xf4'));if(ut[_0x1f02('0x9f')](_0x30deb9)>=_0x5632a1[_0x1f02('0xa4')]){_0x342e60=ut[_0x1f02('0xa5')](_0x30deb9,0xf,_0x1f02('0xa6'));rpcDb[_0x1f02('0x94')](_0x342e60,_0x1f02('0xf5'));}else{rpcDb[_0x1f02('0x94')](_0x30deb9,'[callProgressDetectingCustomer][logUnknownGlobal]');}delete this[_0x1f02('0x14')][_0x8c0926['linkedid']];}if(!(_0x30deb9[_0x1f02('0x6e')]&&_0x7ea7aa==='16')){ut['updateOriginated'](_0x5632a1,_0x1f02('0xf6'));logger['info'](_0x1f02('0xf7'),_0x30deb9[_0x1f02('0xb3')],_0x1f02('0xb4'),_0x5632a1['name'],_0x1f02('0x6d'),_0x5632a1[_0x1f02('0x58')]);}if(_0x7ea7aa!=='ANSWER'){delete this['actions'][_0x8c0926[_0x1f02('0xaf')]];delete this[_0x1f02('0x14')][_0x8c0926[_0x1f02('0xf8')]];}}};Preview['prototype'][_0x1f02('0xf9')]=function(_0xa63968,_0x4c2b82,_0x1f96dc){if(_[_0x1f02('0xfa')](_0x4c2b82)&&_0x1f02('0xfb')!==typeof _0x4c2b82){return;}if(_[_0x1f02('0xfa')](_0x1f96dc)&&_0x1f02('0xfb')!==typeof _0x1f96dc){return;}switch(_0x1f96dc[_0x1f02('0xfc')]){case'0':ut['logAgent'](_0xa63968,0x0,'NoSuchNumber');rpcDb[_0x1f02('0xfd')](_0xa63968,_0x1f02('0xfe'));break;case'3':ut[_0x1f02('0xff')](_0xa63968,0x3,_0x1f02('0xce'));rpcDb[_0x1f02('0xfd')](_0xa63968,_0x1f02('0x100'));break;case'5':ut[_0x1f02('0xff')](_0xa63968,0x5,_0x1f02('0xc6'));rpcDb[_0x1f02('0xfd')](_0xa63968,_0x1f02('0x101'));break;case'8':ut['logAgent'](_0xa63968,0x8,_0x1f02('0xd5'));rpcDb[_0x1f02('0xfd')](_0xa63968,_0x1f02('0x102'));break;case'22':ut[_0x1f02('0xff')](_0xa63968,0x16,_0x1f02('0x103'));rpcDb[_0x1f02('0xfd')](_0xa63968,_0x1f02('0x104'));break;default:ut[_0x1f02('0xff')](_0xa63968,0xc,_0x1f96dc[_0x1f02('0xfc')]);rpcDb[_0x1f02('0xfd')](_0xa63968,_0x1f02('0x102'));}ut[_0x1f02('0x78')](_0x4c2b82,_0x1f02('0x105'));logger[_0x1f02('0x69')]('[originated][decrement][callProgressDetectingAgent]',_0xa63968[_0x1f02('0xb3')],_0x1f02('0xb4'),_0x4c2b82[_0x1f02('0x25')],'originated:\x20',_0x4c2b82[_0x1f02('0x58')]);delete this[_0x1f02('0x14')][_0xa63968[_0x1f02('0xb3')]];};Preview[_0x1f02('0x5f')]['checkInBlack']=function(_0x423e70,_0x97bb6f,_0x341e65,_0x169bf2,_0x56cc6c){var _0xd1eadd=this;return new BPromise(function(_0x1fa57f,_0x3ba632){if(_[_0x1f02('0x68')](_0x97bb6f)||_[_0x1f02('0x68')](_0x97bb6f[_0x1f02('0x106')])||_['isNil'](_0x97bb6f[_0x1f02('0x106')][_0x1f02('0x107')])||_[_0x1f02('0x68')](_0x97bb6f[_0x1f02('0x72')])){_0x3ba632(ut['message'](_0x1f02('0x108'),_0x169bf2,_0x56cc6c));return;}var _0x2759d5=uuid['v4']();var _0x4df44a=_0xd1eadd['campaignsPreview'][_0x97bb6f[_0x1f02('0x6b')]['name']];var _0x3b0fbc=_0x341e65?_0xd1eadd[_0x1f02('0x15')][_0x341e65]['id']:undefined;_0xd1eadd[_0x1f02('0x14')][_0x2759d5]=new Action(_0x97bb6f,_0x4df44a,_0x2759d5,_0x341e65,_0x3b0fbc);var _0x27e015=_0xd1eadd['actions'][_0x2759d5];_0x27e015[_0x1f02('0xad')]=_0x169bf2;_0x27e015['activeContact']=_0x56cc6c;_0x27e015[_0x1f02('0x109')]=_0x341e65;if(_[_0x1f02('0x10a')](_0x423e70)){_0xd1eadd[_0x1f02('0x10b')](_0x27e015,_0x4df44a,_0x97bb6f,_0x341e65)[_0x1f02('0x81')](function(_0x566d37){logger['info'](_0x1f02('0x10c'),_0x1f02('0x10d')+_0x27e015[_0x1f02('0x6c')]+'\x20IdHopper:\x20'+_0x27e015[_0x1f02('0x10e')],JSON[_0x1f02('0x51')](_0x566d37));ami[_0x1f02('0x22')]('custom:agentcalled',ut[_0x1f02('0xb7')](_0x27e015,_0x1f02('0x10f'),_0xd1eadd[_0x1f02('0x11')][_0x27e015[_0x1f02('0x6c')]]));_0x1fa57f(ut['message'](_0x1f02('0x110')));})[_0x1f02('0x76')](function(_0x411918){ut[_0x1f02('0x5b')](_0x1f02('0x111'),_0x411918);_0x3ba632(ut['message']('Call\x20failed',_0x169bf2,_0x56cc6c));});}else{_0x4df44a[_0x1f02('0x112')]+=0x1;ut[_0x1f02('0x113')](_0x27e015);rpcDb['createHistory'](_0x27e015,_0x1f02('0x114'));delete _0xd1eadd[_0x1f02('0x14')][_0x2759d5];_0x3ba632(ut[_0x1f02('0x59')](_0x1f02('0x115'),_0x169bf2,_0x56cc6c));}});};Preview['prototype'][_0x1f02('0x9a')]=function(_0x22e91e){return!_[_0x1f02('0x68')](_0x22e91e)&&!_[_0x1f02('0x68')](_0x22e91e[_0x1f02('0x25')])&&!_['isNil'](_0x22e91e[_0x1f02('0x4f')])&&_0x22e91e[_0x1f02('0x4f')]&&!_['isNil'](this[_0x1f02('0x13')][util[_0x1f02('0x53')](_0x1f02('0x116'),_0x22e91e[_0x1f02('0x25')])])&&!_['isNil'](this[_0x1f02('0x13')][util[_0x1f02('0x53')](_0x1f02('0x116'),_0x22e91e[_0x1f02('0x25')])]['status'])&&(this[_0x1f02('0x13')][util['format']('SIP/%s',_0x22e91e['name'])][_0x1f02('0x74')]===_0x1f02('0x117')||this[_0x1f02('0x13')][util[_0x1f02('0x53')](_0x1f02('0x116'),_0x22e91e['name'])][_0x1f02('0x74')]===_0x1f02('0x118'));};Preview['prototype'][_0x1f02('0x86')]=function(_0x2df021,_0x5d5f6a){var _0x41332d=this;return new BPromise(function(_0xb2f30f,_0xa93499){_0x41332d[_0x1f02('0x119')](_0x2df021,_0x5d5f6a)[_0x1f02('0x81')](function(_0x3c73ed){_0xb2f30f(_[_0x1f02('0x6f')](_0x3c73ed,[_0x1f02('0x59')]));})['catch'](function(_0x40489c){if(_0x40489c[_0x1f02('0x11a')]){rpcDb[_0x1f02('0x11b')](_0x2df021);}if(_0x40489c[_0x1f02('0x4f')]){rpcDb['disableContact'](_0x2df021);}_0xa93499(_[_0x1f02('0x6f')](_0x40489c,['message']));});});};Preview['prototype']['execRun']=function(_0x24999b,_0x4df756){var _0x40deae=this;return new BPromise(function(_0x2c5264,_0x5c71b9){var _0x469b50,_0x172976;rpcDb[_0x1f02('0x11c')](_0x24999b)['then'](function(_0x590b7f){if(!_[_0x1f02('0x68')](_0x590b7f[0x0])){_0x172976=_0x590b7f[0x0][_0x1f02('0x11d')]?![]:!![];_0x469b50=_0x590b7f[0x0]['recallme']?!![]:![];_0x469b50=_0x4df756?!![]:_0x469b50;}var _0x5d7ad6=_0x40deae[_0x1f02('0x11e')](_0x590b7f);if(_0x5d7ad6[_0x1f02('0x11f')]){rpcDb['checkIsBlackList'](_['pick'](_0x590b7f[0x0],[_0x1f02('0x72'),'Contact.phone']))['then'](function(_0x1c95bd){_0x40deae[_0x1f02('0x120')](_0x1c95bd,_0x590b7f[0x0],_0x4df756,_0x172976,_0x469b50)[_0x1f02('0x81')](function(_0x385452){_0x2c5264(_0x385452);})[_0x1f02('0x76')](function(_0x5d6b23){_0x5c71b9(_0x5d6b23);});})[_0x1f02('0x76')](function(_0x5e4432){ut[_0x1f02('0x5b')](_0x1f02('0x121'),_0x5e4432);_0x5c71b9(ut[_0x1f02('0x59')](_0x1f02('0x122'),_0x172976,_0x469b50));});}else{_0x5c71b9(ut[_0x1f02('0x59')](_0x5d7ad6[_0x1f02('0x59')],_0x172976,_0x469b50));}})[_0x1f02('0x76')](function(_0x5079a8){ut[_0x1f02('0x5b')]('[Preview][getContactPreview]',_0x5079a8);_0x5c71b9(ut[_0x1f02('0x59')]('Call\x20unsuccessful',![],!![]));});});};Preview['prototype'][_0x1f02('0x11e')]=function(_0x5b799e){if(_[_0x1f02('0x68')](_0x5b799e)||_[_0x1f02('0x10a')](_0x5b799e)||!_['isNil'](_0x5b799e[0x0][_0x1f02('0x85')])&&_[_0x1f02('0x68')](_0x5b799e[0x0][_0x1f02('0x85')][_0x1f02('0x25')])){ut[_0x1f02('0x5b')](_0x1f02('0x123'),_0x5b799e);return{'isValid':![],'message':'Empty\x20Contact'};}var _0x40a355=this['campaignsPreview'][_0x5b799e[0x0][_0x1f02('0x6b')][_0x1f02('0x25')]];_0x40a355['message']='ACTIVE';if(_['isNil'](_0x40a355)){ut['logger']('[Preview][validateContact][Empty\x20Campaign]',_0x40a355);return{'isValid':![],'message':_0x1f02('0x124')};}if(!this['isTrunkReachable'](_0x40a355['Trunk'])){ut[_0x1f02('0x5b')](_0x1f02('0x125'),_0x1f02('0x126')+_0x40a355['name']+_0x1f02('0x127'));if(!this['isTrunkReachable'](_0x40a355[_0x1f02('0x128')])){ut[_0x1f02('0x5b')](_0x1f02('0x125'),_0x40a355[_0x1f02('0x25')]+'\x20Trunk\x20Backup\x20is\x20not\x20active');return{'isValid':![],'message':_0x1f02('0x129')};}}if(!ut['isActive'](_0x40a355[_0x1f02('0x30')])){ut[_0x1f02('0x5b')]('[Preview][validateContact][Campaign\x20Active]',_0x40a355[_0x1f02('0x25')]+_0x1f02('0x12a'));return{'isValid':![],'message':'campaign\x20Name:\x20'+_0x40a355['name']+_0x1f02('0x12a')};}return{'isValid':!![],'message':_0x1f02('0x12b')};};Preview['prototype']['execCall']=function(_0x1e3287,_0x9ea8a1,_0x3b48c4,_0x3ee473){var _0x3295c8=this;return new BPromise(function(_0x2d2d0c,_0x2823c2){var _0x31d1ea=_0x1e3287['uniqueid'];var _0x2838cf=_0x3295c8[_0x1f02('0x9a')](_0x9ea8a1['Trunk'])?util[_0x1f02('0x53')](_0x1f02('0x12c'),_0x9ea8a1['Trunk'][_0x1f02('0x25')],_[_0x1f02('0x68')](_0x9ea8a1[_0x1f02('0x35')])?'':_0x9ea8a1[_0x1f02('0x35')][_0x1f02('0x12d')]()||'',_0x9ea8a1['dialCutDigit']>0x0?_0x3b48c4[_0x1f02('0x106')]['phone'][_0x1f02('0x12e')](_0x9ea8a1[_0x1f02('0x12f')]):_0x3b48c4[_0x1f02('0x106')][_0x1f02('0x107')]):util[_0x1f02('0x53')](_0x1f02('0x12c'),_[_0x1f02('0x68')](_0x9ea8a1[_0x1f02('0x128')])?_0x9ea8a1['Trunk']['name']:_0x9ea8a1['TrunkBackup']['name'],_[_0x1f02('0x68')](_0x9ea8a1[_0x1f02('0x35')])?'':_0x9ea8a1[_0x1f02('0x35')][_0x1f02('0x12d')]()||'',_0x9ea8a1[_0x1f02('0x12f')]>0x0?_0x3b48c4[_0x1f02('0x106')][_0x1f02('0x107')][_0x1f02('0x12e')](_0x9ea8a1[_0x1f02('0x12f')]):_0x3b48c4['Contact']['phone']);var _0x430744=_0x3295c8['isTrunkReachable'](_0x9ea8a1[_0x1f02('0x4e')])?ut[_0x1f02('0x130')](_0x9ea8a1[_0x1f02('0x4e')]['callerid'],_0x9ea8a1[_0x1f02('0x32')],_0x9ea8a1[_0x1f02('0x131')]>0x0?ut[_0x1f02('0x132')](_0x9ea8a1[_0x1f02('0x33')],_0x9ea8a1[_0x1f02('0x131')]):_0x9ea8a1[_0x1f02('0x33')]):ut[_0x1f02('0x130')](_[_0x1f02('0x68')](_0x9ea8a1['TrunkBackup'])?_0x9ea8a1[_0x1f02('0x4e')]['callerid']:_0x9ea8a1['TrunkBackup'][_0x1f02('0x133')],_0x9ea8a1['dialOriginateCallerIdName'],_0x9ea8a1[_0x1f02('0x131')]>0x0?ut[_0x1f02('0x132')](_0x9ea8a1[_0x1f02('0x33')],_0x9ea8a1[_0x1f02('0x131')]):_0x9ea8a1[_0x1f02('0x33')]);if(_0x430744){_0x1e3287[_0x1f02('0x134')]=ut[_0x1f02('0x135')](_0x430744);_0x1e3287['originatecalleridnum']=ut[_0x1f02('0x136')](_0x430744);}var _0x25b650=ut[_0x1f02('0x137')](_0x9ea8a1,_0x3b48c4,_0x2838cf,_0x430744,_0x31d1ea,_0x1e3287);_['merge'](_0x1e3287,ut[_0x1f02('0x138')](_0x25b650));_0x1e3287[_0x1f02('0x8a')]=moment()[_0x1f02('0x53')]('YYYY-MM-DD\x20HH:mm:ss');ami[_0x1f02('0x139')](ut[_0x1f02('0x13a')](_0x1e3287,_0x9ea8a1,_0x25b650,_0x1e3287[_0x1f02('0xae')],_0x3ee473))['then'](function(_0x5c6d89){_0x9ea8a1['originated']+=0x1;logger[_0x1f02('0x69')](_0x1f02('0x13b'),_0x31d1ea,_0x1f02('0xb4'),_0x9ea8a1['name'],'originated:\x20',_0x9ea8a1[_0x1f02('0x58')]);_0x2d2d0c(_0x5c6d89);})[_0x1f02('0x76')](function(_0x5a47da){ut[_0x1f02('0xff')](_0x1e3287,0xe,_0x1f02('0x13c'));rpcDb[_0x1f02('0xfd')](_0x1e3287,'[originateFailure][logOriginateFailure]');_0x2823c2(_0x5a47da);});});};Preview[_0x1f02('0x5f')][_0x1f02('0x13d')]=function(_0x5dd707){if(this[_0x1f02('0x14')][_0x5dd707[_0x1f02('0xaf')]]){this[_0x1f02('0x14')][_0x5dd707['linkedid']]['channel']=_0x5dd707[_0x1f02('0x75')];}};Preview[_0x1f02('0x5f')][_0x1f02('0x16')]=function(_0x542f31){var _0x175c04=this;var _0x327935=this[_0x1f02('0x14')][_0x542f31[_0x1f02('0x13e')]];if(_0x327935){if(_0x327935[_0x1f02('0x109')]&&this[_0x1f02('0x15')][_0x327935[_0x1f02('0x109')]]){ut['logLookAgent'](_0x327935,this['agents'][_0x327935['lookAgent']][_0x1f02('0x25')],this[_0x1f02('0x15')][_0x327935[_0x1f02('0x109')]]['id']);}var _0x21210c=_[_0x1f02('0x13f')](_0x327935);_0x21210c[_0x1f02('0xb0')]=moment()[_0x1f02('0x53')](_0x1f02('0x8b'));var _0x145014=_0x175c04[_0x1f02('0x11')][_0x327935[_0x1f02('0x6c')]];if(ut[_0x1f02('0x140')](_0x542f31['response'])){if(_0x327935[_0x1f02('0xad')]){rpcDb[_0x1f02('0x11b')](_0x327935[_0x1f02('0x10e')]);}if(_0x327935[_0x1f02('0xae')]){rpcDb[_0x1f02('0x89')](_0x327935[_0x1f02('0x10e')]);}ami[_0x1f02('0x22')]('custom:agentringnoanswer',ut[_0x1f02('0xb7')](_0x327935,_0x1f02('0x141'),this[_0x1f02('0x11')][_0x327935[_0x1f02('0x6c')]]));this[_0x1f02('0xf9')](_0x21210c,_0x145014,_0x542f31);}else{_0x327935[_0x1f02('0x8a')]=moment()[_0x1f02('0x53')](_0x1f02('0x8b'));ut[_0x1f02('0xff')](_0x21210c,0x4,_0x1f02('0xbf'));rpcDb[_0x1f02('0xfd')](_0x21210c,_0x1f02('0x142'));}}};Preview[_0x1f02('0x5f')]['syncHangup']=function(_0x3c6589){var _0x391594=this;var _0x51ce9d=this[_0x1f02('0x14')][_0x3c6589[_0x1f02('0xaf')]];var _0x3947ca;if(_0x51ce9d){_0x3947ca=this['campaignsPreview'][_0x51ce9d[_0x1f02('0x6c')]];logger[_0x1f02('0x69')](_0x1f02('0x143'),_0x3c6589[_0x1f02('0xaf')],'\x20Queue',_0x3947ca[_0x1f02('0x25')],_0x1f02('0xb5'),_0x3947ca[_0x1f02('0x2a')]);}if(this[_0x1f02('0x14')][_0x3c6589[_0x1f02('0xaf')]]&&_0x3c6589[_0x1f02('0xaf')]!==_0x3c6589[_0x1f02('0xb3')]){if(_0x3c6589[_0x1f02('0x144')]==='16'&&this['actions'][_0x3c6589[_0x1f02('0xaf')]][_0x1f02('0x6e')]){this['callProgressDetectingCustomer'](_0x3c6589,_0x3c6589[_0x1f02('0xaf')],_0x3c6589[_0x1f02('0x144')]);}else if(this[_0x1f02('0x14')][_0x3c6589[_0x1f02('0xaf')]][_0x1f02('0x6e')]){logger[_0x1f02('0x69')](_0x1f02('0x145'),_0x3c6589[_0x1f02('0xaf')],_0x3c6589[_0x1f02('0x144')],_0x1f02('0xb4'),_0x3947ca[_0x1f02('0x25')],_0x1f02('0xb5'),_0x3947ca[_0x1f02('0x2a')]);this[_0x1f02('0x9d')](_0x3c6589,_0x3c6589['linkedid'],_0x3c6589[_0x1f02('0x144')]);}}else if(_0x51ce9d&&_[_0x1f02('0x68')](_0x51ce9d[_0x1f02('0x146')])&&_0x3947ca[_0x1f02('0x147')]&&_0x3c6589['linkedid']===_0x3c6589['uniqueid']&&_[_0x1f02('0x68')](_0x3c6589[_0x1f02('0xfc')])&&_0x3c6589[_0x1f02('0x144')]==='16'&&_0x3c6589[_0x1f02('0x148')]==='6'&&_[_0x1f02('0xfa')](_0x51ce9d[_0x1f02('0x149')])){if(_0x51ce9d['unlockAgent']){rpcDb['unlockContact'](_0x51ce9d[_0x1f02('0x10e')]);}if(_0x51ce9d['activeContact']){rpcDb[_0x1f02('0x89')](_0x51ce9d[_0x1f02('0x10e')]);}_0x3c6589[_0x1f02('0xfc')]='22';this[_0x1f02('0xf9')](_0x51ce9d,_0x3947ca,_0x3c6589);}else if(_0x51ce9d&&_0x51ce9d[_0x1f02('0x149')]){if(_0x3c6589['cause']==='16'&&this[_0x1f02('0x14')][_0x3c6589['linkedid']][_0x1f02('0x6e')]){logger['info']('[syncHangup][talking][transfer]',_0x3c6589['linkedid'],_0x3c6589[_0x1f02('0x144')],_0x1f02('0xb4'),_0x3947ca[_0x1f02('0x25')],'pTalking:\x20',_0x3947ca[_0x1f02('0x2a')]);this[_0x1f02('0x9d')](_0x3c6589,_0x3c6589[_0x1f02('0xaf')],_0x3c6589[_0x1f02('0x144')]);}else if(this[_0x1f02('0x14')][_0x3c6589['linkedid']]['dialAnswer']){logger['info']('[syncHangup][talking][cause]',_0x3c6589[_0x1f02('0xaf')],_0x3c6589[_0x1f02('0x144')],_0x1f02('0xb4'),_0x3947ca['name'],_0x1f02('0xb5'),_0x3947ca[_0x1f02('0x2a')]);this['callProgressDetectingCustomer'](_0x3c6589,_0x3c6589['linkedid'],_0x3c6589[_0x1f02('0x144')]);}}};Preview[_0x1f02('0x5f')][_0x1f02('0x1c')]=function(_0x3231b6){if(this[_0x1f02('0x14')][_0x3231b6[_0x1f02('0xf8')]]&&_0x3231b6['destlinkedid']!==_0x3231b6[_0x1f02('0x14a')]){this[_0x1f02('0x9d')](_0x3231b6,_0x3231b6[_0x1f02('0xf8')],_0x3231b6[_0x1f02('0xed')]);}};Preview[_0x1f02('0x5f')][_0x1f02('0x1b')]=function(_0x26b0d5){if(this[_0x1f02('0x14')][_0x26b0d5['linkedid']]&&_0x26b0d5[_0x1f02('0xaf')]!==_0x26b0d5[_0x1f02('0xb3')]&&!this['actions'][_0x26b0d5[_0x1f02('0xaf')]]['dialAnswer']){if(_0x26b0d5[_0x1f02('0x144')]==='1'){this[_0x1f02('0x9d')](_0x26b0d5,_0x26b0d5[_0x1f02('0xaf')],_0x26b0d5[_0x1f02('0x144')]);}}};Preview[_0x1f02('0x5f')][_0x1f02('0x14b')]=function(_0x5f2dcb,_0x3c66fa,_0x368c6c){if(this[_0x1f02('0x14')][_0x5f2dcb]){if(_[_0x1f02('0x68')](this['actions'][_0x5f2dcb]['variables'])){this[_0x1f02('0x14')][_0x5f2dcb][_0x1f02('0x14c')]={};}this[_0x1f02('0x14')][_0x5f2dcb][_0x1f02('0x14c')][_0x3c66fa]=_0x368c6c;}};Preview['prototype'][_0x1f02('0x1e')]=function(_0x5eab57){try{if(!_[_0x1f02('0x68')](_0x5eab57)){if(ut['filterKey'](_[_0x1f02('0x14d')](_0x5eab57[_0x1f02('0x14e')])[0x0])){this[_0x1f02('0x14b')](_0x5eab57['uniqueid'],_[_0x1f02('0x14d')](_0x5eab57[_0x1f02('0x14e')])[0x0],_0x5eab57[_0x1f02('0x14f')]);}}}catch(_0x41f639){logger[_0x1f02('0x150')](_0x1f02('0x151'),util['inspect'](_0x41f639,{'showHidden':![],'depth':null}));}};Preview[_0x1f02('0x5f')][_0x1f02('0x1f')]=function(_0x50c41b){if(_0x50c41b){if(this['actions'][_0x50c41b['transfertargetlinkedid']]){this[_0x1f02('0x14')][_0x50c41b[_0x1f02('0x152')]][_0x1f02('0x149')]=!![];}}};Preview[_0x1f02('0x5f')][_0x1f02('0x21')]=function(_0x50753f){if(_0x50753f){if(this[_0x1f02('0x14')][_0x50753f['transfererlinkedid']]){this[_0x1f02('0x14')][_0x50753f[_0x1f02('0x153')]][_0x1f02('0x149')]=!![];}}};module[_0x1f02('0x154')]=Preview;