Built motion from commit 9d1906d1.|2.5.40
[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 _0xe5b3=['syncNewExten','syncVarSet','blindtransfer','syncBlindTransfer','loopCampaigns','emit','type','outbound','strategy','answered','available','loggedIn','sumBillable','sumHoldTime','talking','unmanaged','abandoned','waiting','loggedInDb','dialActive','dialMethod','dialOriginateCallerIdName','dialOriginateTimeout','outboundAnswerAgiCallsDay','outboundBlacklistCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundDropCallsDayACS','outboundDropCallsDayCallersExit','outboundDropCallsDayTimeout','outboundNoAnswerCallsDay','outboundNoSuchCallsDay','outboundOriginateFailureCallsDay','outboundReCallsDay','outboundRejectCallsDay','outboundAbandonedCallsDay','predictiveIntervalAnsweredCalls','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','predictiveIntervalDroppedCallsCallersExit','predictiveIntervalDroppedCallsTimeout','predictiveIntervalErlangCalls','predictiveIntervalHitRate','predictiveIntervalAvailable','predictiveIntervalTotalCalls','originated','erlangCalls','erlangCallToSecond','erlangAbandonmentRate','erlangBusyFactor','startPredictive','startProgressive','Trunk','name','active','Interval','stringify','voice:queue:%s','info','[DEBUG]\x20Emit\x20voice_queue_channel:remove\x20event','format','sendMessageOneNotActive','paused','message','NOT_ACTIVE','logger','[CampaignPreview]\x20Campaign\x20Queue:\x20','\x20is\x20not\x20active','IS_DISACTIVED','\x20is\x20disactive','syncCampaigns','booked','clearZombieChannels','hasOwnProperty','setMessage','dialPreviewAutoRecallMe','[clearZombieChannels][talking]','queue','pTalking:\x20','pTalking','dialAnswer','pick','contactId','UserId','VoiceQueueId','ListId','Action','status','channel','No\x20such\x20channel','updateOriginated','[clearZombieChannel]','decrementTalkink','loggerError','[Dialer][checkChannel][Preview]','[action]','size','clearZombieChannel','recallMe','isNil','length','getDiff','scheduledat','dialRecallMeTimeout','Agent','voicePause','run','then','logger2','[RecallMe]','disableContact','RecallInQueue','dialRecallInQueue','rescheduleContactInQueue','createBody','createCustomerHistory','RecallFailedTimeout','[HistoryRecallClose]','catch','[getContactRecallMe]','IsNotLoggedIn','AGENTS_NOT_LOGGED','isActive','isTrunkReachable','TrunkBackup','ACTIVE','callProgressDetectingCustomer','countnosuchnumberretry','countglobal','totalGlobal','NoSuchNumber','custom:agentnosuchnumber','buildObj','nosuchnumber','[callProgressDetectingCustomer][logNoSuch]','cloneAction','Global','[callProgressDetectingCustomer][logNoSuchGlobal]','dialNoSuchNumberMaxRetry','createCustomerFinal','rescheduleContact','scheduledAt','dialNoSuchNumberRetryFrequency','unlockAgent','ANSWER','YYYY-MM-DD\x20HH:mm:ss','responsetime','answertime','uniqueid','custom:agentconnect','acw','custom:agentConnectPreview','buildAcw','complete','total','logCustomer','Answer','[callProgressDetectingCustomer][logAnswer]','[callProgressDetectingCustomer][logAnswerGlobal]','crateCustomerReportQueue','talktime','[syncHangup][talking][decrement]','\x20Queue','linkedid','BUSY','Busy','custom:agentbusy','busy','[callProgressDetectingCustomer][logBusy]','[callProgressDetectingCustomer][logBusyGlobal]','countbusyretry','dialBusyMaxRetry','dialBusyRetryFrequency','activeContact','NOANSWER','NoAnswer','custom:agentnoanswer','noanswer','[callProgressDetectingCustomer][logNoAnswerGlobal]','countnoanswerretry','dialNoAnswerMaxRetry','[callProgressDetectingCustomer][logNoAnswer]','dialNoAnswerRetryFrequency','countcongestionretry','Congestion','custom:agentcongestion','congestion','[callProgressDetectingCustomer][logCongestion]','dialGlobalMaxRetry','[callProgressDetectingCustomer][logCongestionGlobal]','dialCongestionMaxRetry','CANCEL','countagentrejectretry','custom:agentreject','[syncHangupRequest][logAgentReject]','[callProgressDetectingCustomer][logAgentReject]','dialAgentRejectRetryFrequency','ABANDONED','countabandonedretry','Abandoned','[callProgressDetectingCustomer][logAbandoned]','countabandonedetry','dialAbandonedMaxRety','dialAbandonedRetryFrequency','outboundUnknownCallsDay','countmachineretry','cause-txt','custom:amd','amd','[callProgressDetectingCustomer][hangupInAMD]','[callProgressDetectingCustomer][machine]','[default]','[Dialer][decrementTalkink][no\x20Hangup][Preview]','dialstatus','[callProgressDetectingCustomer][logUnknown]','[callProgressDetectingCustomer][logUnknownGlobal]','[callProgressDetectingCustomer]','originated:\x20','destlinkedid','callProgressDetectingAgent','isUndefined','object','reason','logAgent','createAgentHistory','[callProgressDetectingAgent][logBusy]','[callProgressDetectingAgent][logCongestion]','AnswerAGI','[callProgressDetectingAgent][logAnswerAGI]','[callProgressDetectingAgent]','[originated][decrement][callProgressDetectingAgent]','checkInBlack','Contact','Queue','lookAgent','[Preview][execCall][success]','Queue:\x20','\x20IdHopper:\x20','idContact','custom:agentcalled','[Preview][execCall][failure]','Contact\x20in\x20black\x20List','SIP/%s','reachable','unlock','unlockContact','execRun','getContactPreview','recallme','validateContact','isValid','checkIsBlackList','Contact.phone','[Preview][checkIsBlackList]','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','\x20Trunk\x20Backup\x20is\x20not\x20active','Trunk\x20not\x20work','[Preview][validateContact][Campaign\x20Active]','\x20Not\x20Active','SIP/%s/%s%s','dialPrefix','trim','dialCutDigit','phone','substring','getCallerId','callerid','getCallerIdRandom','dialOriginateCallerIdNumber','dialRandomLastDigitCallerIdNumber','originatecalleridname','addVariables','merge','toLowerVariables','variablesAction','syncOriginateResponse','actionid','logLookAgent','response','custom:agentringnoanswer','starttime','[syncHangup][talking]','cause','statedesc','dialQueueProject','channelstate','transfer','[syncHangup][talking][transfer]','[syncHangup][talking][cause]','destuniqueid','addVariable','variables','filterKey','keys','[syncVarSet][Preview]','inspect','syncAttendedTransfer','transfertargetlinkedid','transfererlinkedid','exports','lodash','bluebird','uuid','moment','md5','ioredis','../../../config/environment','../../../config/logger','preview','actionPreview','./rpcDb','./action','redis','defaults','localhost','prototype','enqueue','tail','finally','sequence','campaignsPreview','voiceQueues','trunks','actions','agents','clockClearZombieChannels','hangup','syncHangup','bind','syncHangupRequest','syncDialEnd'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0xe5b3,0x133));var _0x3e5b=function(_0xa876e7,_0x3fa427){_0xa876e7=_0xa876e7-0x0;var _0x3c184a=_0xe5b3[_0xa876e7];return _0x3c184a;};'use strict';var util=require('util');var _=require(_0x3e5b('0x0'));var BPromise=require(_0x3e5b('0x1'));var uuid=require(_0x3e5b('0x2'));var moment=require(_0x3e5b('0x3'));var md5=require(_0x3e5b('0x4'));var Redis=require(_0x3e5b('0x5'));var config=require(_0x3e5b('0x6'));var logger=require(_0x3e5b('0x7'))(_0x3e5b('0x8'));var loggerAction=require(_0x3e5b('0x7'))(_0x3e5b('0x9'));var ami=require('../ami');var rpcDb=require(_0x3e5b('0xa'));var Action=require(_0x3e5b('0xb'));var ut=require('./util/util');config[_0x3e5b('0xc')]=_[_0x3e5b('0xd')](config[_0x3e5b('0xc')],{'host':_0x3e5b('0xe'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config['redis']));var Sequence=function(){};Sequence[_0x3e5b('0xf')][_0x3e5b('0x10')]=function(_0x22fc1a){this[_0x3e5b('0x11')]=this[_0x3e5b('0x11')]?this['tail'][_0x3e5b('0x12')](_0x22fc1a):_0x22fc1a();};function Preview(_0x52efbd){this[_0x3e5b('0x13')]=new Sequence();this[_0x3e5b('0x14')]=_0x52efbd[_0x3e5b('0x15')];this[_0x3e5b('0x16')]=_0x52efbd[_0x3e5b('0x16')];this[_0x3e5b('0x17')]={};this[_0x3e5b('0x18')]=_0x52efbd['agents'];this[_0x3e5b('0x19')]=0x0;ami['on']('originateresponse',this['syncOriginateResponse']['bind'](this));ami['on'](_0x3e5b('0x1a'),this[_0x3e5b('0x1b')][_0x3e5b('0x1c')](this));ami['on']('hanguprequest',this[_0x3e5b('0x1d')]['bind'](this));ami['on']('dialend',this[_0x3e5b('0x1e')][_0x3e5b('0x1c')](this));ami['on']('newexten',this[_0x3e5b('0x1f')][_0x3e5b('0x1c')](this));ami['on']('varset',this[_0x3e5b('0x20')][_0x3e5b('0x1c')](this));ami['on']('attendedtransfer',this['syncAttendedTransfer'][_0x3e5b('0x1c')](this));ami['on'](_0x3e5b('0x21'),this[_0x3e5b('0x22')][_0x3e5b('0x1c')](this));this[_0x3e5b('0x23')](this[_0x3e5b('0x14')]);}function emit(_0x447d36,_0x21fc32,_0x36c988){io['to'](_0x447d36)[_0x3e5b('0x24')](_0x21fc32,_0x36c988);}function emitCampaignPreview(_0x2b977c){if(_0x2b977c[_0x3e5b('0x25')]===_0x3e5b('0x26')){var _0x402873={'id':_0x2b977c['id'],'name':_0x2b977c['name'],'strategy':_0x2b977c[_0x3e5b('0x27')],'answered':_0x2b977c[_0x3e5b('0x28')],'available':_0x2b977c[_0x3e5b('0x29')],'loggedIn':_0x2b977c[_0x3e5b('0x2a')],'pTalking':_0x2b977c['pTalking'],'sumBillable':_0x2b977c[_0x3e5b('0x2b')],'sumDuration':_0x2b977c['sumDuration'],'sumHoldTime':_0x2b977c[_0x3e5b('0x2c')]||0x0,'talking':_0x2b977c[_0x3e5b('0x2d')],'total':_0x2b977c['total'],'type':_0x2b977c[_0x3e5b('0x25')],'unmanaged':_0x2b977c[_0x3e5b('0x2e')],'abandoned':_0x2b977c[_0x3e5b('0x2f')],'waiting':_0x2b977c[_0x3e5b('0x30')],'loggedInDb':_0x2b977c[_0x3e5b('0x31')],'dialActive':_0x2b977c[_0x3e5b('0x32')],'dialMethod':_0x2b977c[_0x3e5b('0x33')],'dialOriginateCallerIdName':_0x2b977c[_0x3e5b('0x34')],'dialOriginateCallerIdNumber':_0x2b977c['dialOriginateCallerIdNumber'],'dialOriginateTimeout':_0x2b977c[_0x3e5b('0x35')],'dialPrefix':_0x2b977c['dialPrefix'],'outboundAnswerAgiCallsDay':_0x2b977c[_0x3e5b('0x36')],'outboundAnswerCallsDay':_0x2b977c['outboundAnswerCallsDay'],'outboundBlacklistCallsDay':_0x2b977c[_0x3e5b('0x37')],'outboundBusyCallsDay':_0x2b977c[_0x3e5b('0x38')],'outboundCongestionCallsDay':_0x2b977c[_0x3e5b('0x39')],'outboundDropCallsDayACS':_0x2b977c[_0x3e5b('0x3a')],'outboundDropCallsDayCallersExit':_0x2b977c[_0x3e5b('0x3b')],'outboundDropCallsDayTimeout':_0x2b977c[_0x3e5b('0x3c')],'outboundNoAnswerCallsDay':_0x2b977c[_0x3e5b('0x3d')],'outboundNoSuchCallsDay':_0x2b977c[_0x3e5b('0x3e')],'outboundOriginateFailureCallsDay':_0x2b977c[_0x3e5b('0x3f')],'outboundReCallsDay':_0x2b977c[_0x3e5b('0x40')],'outboundRejectCallsDay':_0x2b977c[_0x3e5b('0x41')],'outboundUnknownCallsDay':_0x2b977c['outboundUnknownCallsDay'],'outboundAbandonedCallsDay':_0x2b977c[_0x3e5b('0x42')],'predictiveIntervalAnsweredCalls':_0x2b977c[_0x3e5b('0x43')],'predictiveIntervalAvgHoldtime':_0x2b977c[_0x3e5b('0x44')],'predictiveIntervalAvgTalktime':_0x2b977c[_0x3e5b('0x45')],'predictiveIntervalDroppedCallsCallersExit':_0x2b977c[_0x3e5b('0x46')],'predictiveIntervalDroppedCallsTimeout':_0x2b977c[_0x3e5b('0x47')],'predictiveIntervalErlangCalls':_0x2b977c[_0x3e5b('0x48')],'predictiveIntervalErlangCallsDroppedCalls':_0x2b977c['predictiveIntervalErlangCallsDroppedCalls'],'predictiveIntervalHitRate':_0x2b977c[_0x3e5b('0x49')],'predictiveIntervalMultiplicativeFactor':_0x2b977c['predictiveIntervalMultiplicativeFactor'],'predictiveIntervalPauses':_0x2b977c['predictiveIntervalPauses'],'predictiveIntervalAvailable':_0x2b977c[_0x3e5b('0x4a')],'predictiveIntervalTotalCalls':_0x2b977c[_0x3e5b('0x4b')],'message':_0x2b977c['message'],'originated':_0x2b977c[_0x3e5b('0x4c')],'erlangCalls':_0x2b977c[_0x3e5b('0x4d')],'erlangCallToSecond':_0x2b977c[_0x3e5b('0x4e')],'erlangAbandonmentRate':_0x2b977c[_0x3e5b('0x4f')],'erlangBusyFactor':_0x2b977c[_0x3e5b('0x50')],'startPredictive':_0x2b977c[_0x3e5b('0x51')],'startProgressive':_0x2b977c[_0x3e5b('0x52')]};if(_0x2b977c[_0x3e5b('0x53')]){_0x402873[_0x3e5b('0x53')]={'id':_0x2b977c[_0x3e5b('0x53')]['id'],'name':_0x2b977c[_0x3e5b('0x53')][_0x3e5b('0x54')],'active':_0x2b977c['Trunk'][_0x3e5b('0x55')],'callerid':_0x2b977c[_0x3e5b('0x53')]['callerid']};}if(_0x2b977c['Interval']){_0x402873[_0x3e5b('0x56')]={'id':_0x2b977c['Interval']['id'],'name':_0x2b977c[_0x3e5b('0x56')][_0x3e5b('0x54')]};}var _0xb2349c=md5(JSON[_0x3e5b('0x57')](_0x402873));if(_0x2b977c['md5']!==_0xb2349c){_0x2b977c[_0x3e5b('0x4')]=_0xb2349c;emit(util['format'](_0x3e5b('0x58'),_0x402873['name']),'voice_queue:save',_0x402873);}}}function emitVoiceQueueChannelRemove(_0x48f414){logger[_0x3e5b('0x59')](_0x3e5b('0x5a'),JSON[_0x3e5b('0x57')](_0x48f414));emit(util[_0x3e5b('0x5b')](_0x3e5b('0x58'),_0x48f414[_0x3e5b('0x54')]),'voice_queue_channel:remove',_0x48f414);io['emit']('voice_queue_presence:remove',_0x48f414);}function notSendMessagesQueue(_0x565319){if(_0x565319['sendMessageOneNotActive']){if(_0x565319['originated']===0x0&&_0x565319['pTalking']===0x0){_0x565319[_0x3e5b('0x5c')]=![];_0x565319[_0x3e5b('0x29')]=0x0;_0x565319[_0x3e5b('0x5d')]=0x0;_0x565319[_0x3e5b('0x5e')]=_0x3e5b('0x5f');ut[_0x3e5b('0x60')](_0x3e5b('0x61'),_0x565319[_0x3e5b('0x54')]+_0x3e5b('0x62'));}else{_0x565319[_0x3e5b('0x5e')]=_0x3e5b('0x63');ut['logger'](_0x3e5b('0x61'),_0x565319[_0x3e5b('0x54')]+_0x3e5b('0x64'));}emitCampaignPreview(_0x565319);}}Preview[_0x3e5b('0xf')][_0x3e5b('0x23')]=function(){var _0xc69499=this;setInterval(function(){_0xc69499[_0x3e5b('0x65')]();},0x7cf);};Preview[_0x3e5b('0xf')][_0x3e5b('0x65')]=function(){var _0x39da3f=this[_0x3e5b('0x14')];this['clockClearZombieChannels']+=0x1;for(var _0x598ab4 in _0x39da3f){if(_0x39da3f['hasOwnProperty'](_0x598ab4)&&(_0x39da3f[_0x598ab4]['dialMethod']===_0x3e5b('0x8')||_0x39da3f[_0x598ab4][_0x3e5b('0x33')]===_0x3e5b('0x66'))&&_0x39da3f[_0x598ab4][_0x3e5b('0x25')]===_0x3e5b('0x26')){if(this[_0x3e5b('0x19')]>0x7){this[_0x3e5b('0x19')]=0x0;this[_0x3e5b('0x67')]();}}if(_0x39da3f[_0x3e5b('0x68')](_0x598ab4)&&_0x39da3f[_0x598ab4][_0x3e5b('0x33')]==='preview'&&_0x39da3f[_0x598ab4][_0x3e5b('0x25')]===_0x3e5b('0x26')){if(_0x39da3f[_0x598ab4][_0x3e5b('0x32')]){this[_0x3e5b('0x69')](_0x39da3f[_0x598ab4]);if(_0x39da3f[_0x598ab4][_0x3e5b('0x6a')])this['recallMe'](_0x39da3f[_0x598ab4]);}else{notSendMessagesQueue(_0x39da3f[_0x598ab4]);}}}};Preview['prototype']['clearZombieChannel']=function(_0x1fbd87){var _0x20af6a=this;this[_0x3e5b('0x13')]['enqueue'](function(){if(!_['isNil'](_0x20af6a[_0x3e5b('0x17')][_0x1fbd87])){loggerAction[_0x3e5b('0x59')](_0x3e5b('0x6b'),_0x1fbd87,'Queue',_0x20af6a['actions'][_0x1fbd87][_0x3e5b('0x6c')],'originated:\x20',JSON[_0x3e5b('0x57')](_0x20af6a[_0x3e5b('0x14')][_0x20af6a[_0x3e5b('0x17')][_0x1fbd87][_0x3e5b('0x6c')]][_0x3e5b('0x4c')]),_0x3e5b('0x6d'),JSON[_0x3e5b('0x57')](_0x20af6a[_0x3e5b('0x14')][_0x20af6a[_0x3e5b('0x17')][_0x1fbd87]['queue']][_0x3e5b('0x6e')]),JSON['stringify'](_0x20af6a[_0x3e5b('0x17')][_0x1fbd87][_0x3e5b('0x6f')]),JSON[_0x3e5b('0x57')](_[_0x3e5b('0x70')](_0x20af6a[_0x3e5b('0x17')][_0x1fbd87],[_0x3e5b('0x71'),_0x3e5b('0x72'),_0x3e5b('0x73'),_0x3e5b('0x74')])));return ami[_0x3e5b('0x75')]({'action':_0x3e5b('0x76'),'channel':_0x20af6a[_0x3e5b('0x17')][_0x1fbd87][_0x3e5b('0x77')]})['catch'](function(_0x6104b0){if(_0x6104b0[_0x3e5b('0x5e')]===_0x3e5b('0x78')){setTimeout(function(){if(_0x20af6a[_0x3e5b('0x17')][_0x1fbd87]){ut[_0x3e5b('0x79')](_0x20af6a[_0x3e5b('0x14')][_0x20af6a['actions'][_0x1fbd87][_0x3e5b('0x6c')]],_0x3e5b('0x7a'));if(_0x20af6a[_0x3e5b('0x17')][_0x1fbd87][_0x3e5b('0x6f')]===!![]){ut[_0x3e5b('0x7b')](_0x20af6a[_0x3e5b('0x14')][_0x20af6a[_0x3e5b('0x17')][_0x1fbd87][_0x3e5b('0x6c')]],'[clearZombieChannel]');ut[_0x3e5b('0x7c')]('[Dialer][checkChannel][pTalking][Preview]'+_0x1fbd87,_0x20af6a['actions'][_0x1fbd87][_0x3e5b('0x6c')]);}ut['loggerError'](_0x3e5b('0x7d')+_0x1fbd87,_0x20af6a[_0x3e5b('0x17')][_0x1fbd87][_0x3e5b('0x6c')]);delete _0x20af6a[_0x3e5b('0x17')][_0x1fbd87];}},0x2328);}});}});};Preview['prototype']['clearZombieChannels']=function(){var _0x545712=this;loggerAction['info'](_0x3e5b('0x7e'),_[_0x3e5b('0x7f')](this[_0x3e5b('0x17')]));for(var _0x4149c8 in this[_0x3e5b('0x17')]){if(_0x545712['actions']['hasOwnProperty'](_0x4149c8)){_0x545712[_0x3e5b('0x80')](_0x4149c8);}}};Preview[_0x3e5b('0xf')][_0x3e5b('0x81')]=function(_0x325f7b){var _0x3db8bd=this;rpcDb['getContactRecallMe'](_0x325f7b['id'],ut['agentReadyId'](this['agents']))['then'](function(_0x3563b0){if(!_[_0x3e5b('0x82')](_0x3563b0)){for(var _0x3088d4=0x0;_0x3088d4<_0x3563b0[_0x3e5b('0x83')];_0x3088d4+=0x1){if(ut[_0x3e5b('0x84')](_0x3563b0[_0x3088d4][_0x3e5b('0x85')])<_0x325f7b[_0x3e5b('0x86')]*0x3c){if(_0x3563b0[_0x3088d4][_0x3e5b('0x87')]&&!_0x3563b0[_0x3088d4]['Agent'][_0x3e5b('0x88')]){_0x3db8bd[_0x3e5b('0x89')](_0x3563b0[_0x3088d4]['id'])[_0x3e5b('0x8a')](ut[_0x3e5b('0x8b')](_0x3e5b('0x8c')))['catch'](ut[_0x3e5b('0x8b')]('[RecallMe]'));}else{rpcDb[_0x3e5b('0x8d')](_0x3563b0[_0x3088d4]['id']);}}else{var _0x1fd40c=new Action(_0x3563b0[_0x3088d4],_0x325f7b);_0x1fd40c['starttime']=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');_0x325f7b[_0x3e5b('0x40')]+=0x1;ut['logCustomer'](_0x1fd40c,0x17,_0x3e5b('0x8e'));if(_0x325f7b[_0x3e5b('0x8f')]){rpcDb[_0x3e5b('0x90')](ut[_0x3e5b('0x91')](_0x3563b0[_0x3088d4]));rpcDb[_0x3e5b('0x92')](_0x1fd40c,'[HistoryDialRecallInQueue][historyCatch]');}else{ut['logCustomer'](_0x1fd40c,0x16,_0x3e5b('0x93'));rpcDb[_0x3e5b('0x92')](_0x1fd40c,_0x3e5b('0x94'));rpcDb['createCustomerFinal'](_0x1fd40c,_0x3e5b('0x94'));}}}}})[_0x3e5b('0x95')](ut[_0x3e5b('0x8b')](_0x3e5b('0x96')));};Preview[_0x3e5b('0xf')][_0x3e5b('0x69')]=function(_0x455594){_0x455594[_0x3e5b('0x5c')]=!![];if(ut[_0x3e5b('0x97')](_0x455594[_0x3e5b('0x2a')])){_0x455594[_0x3e5b('0x5e')]=_0x3e5b('0x98');}else if(!ut[_0x3e5b('0x99')](_0x455594[_0x3e5b('0x32')])){_0x455594[_0x3e5b('0x5e')]=_0x3e5b('0x5f');}else if(!this[_0x3e5b('0x9a')](_0x455594[_0x3e5b('0x53')])){if(!this['isTrunkReachable'](_0x455594[_0x3e5b('0x9b')])){_0x455594[_0x3e5b('0x5e')]='TRUNK_IS_NOT_REACHABLE';}else{_0x455594[_0x3e5b('0x5e')]=_0x3e5b('0x9c');}}else{_0x455594['message']='ACTIVE';}emitCampaignPreview(_0x455594);};Preview['prototype'][_0x3e5b('0x9d')]=function(_0x465826,_0x498e6d,_0x2929ba){var _0x1f3a1e=this;var _0x47b810=this[_0x3e5b('0x17')][_0x498e6d];var _0x17f60f=this[_0x3e5b('0x14')][_0x47b810[_0x3e5b('0x6c')]];var _0x35ec82;if(_0x17f60f){switch(_0x2929ba){case'1':_0x17f60f[_0x3e5b('0x3e')]+=0x1;_0x47b810[_0x3e5b('0x9e')]+=0x1;_0x47b810[_0x3e5b('0x9f')]=ut[_0x3e5b('0xa0')](_0x47b810);ut['logCustomer'](_0x47b810,0x0,_0x3e5b('0xa1'));ami[_0x3e5b('0x24')](_0x3e5b('0xa2'),ut[_0x3e5b('0xa3')](_0x47b810,_0x3e5b('0xa4')));rpcDb[_0x3e5b('0x92')](_0x47b810,_0x3e5b('0xa5'));if(ut['totalGlobal'](_0x47b810)>=_0x17f60f['dialGlobalMaxRetry']){_0x35ec82=ut[_0x3e5b('0xa6')](_0x47b810,0xf,_0x3e5b('0xa7'));rpcDb['createCustomerFinal'](_0x35ec82,_0x3e5b('0xa8'));}else{if(_0x47b810[_0x3e5b('0x9e')]>=_0x17f60f[_0x3e5b('0xa9')]){rpcDb[_0x3e5b('0xaa')](_0x47b810,_0x3e5b('0xa8'));}else{rpcDb[_0x3e5b('0xab')](ut[_0x3e5b('0xac')](_0x47b810,'countnosuchnumberretry',_0x17f60f[_0x3e5b('0xad')]),_0x47b810[_0x3e5b('0xae')],_0x47b810['activeContact']);}}delete this['actions'][_0x465826['linkedid']];break;case _0x3e5b('0xaf'):var _0x141393=moment()[_0x3e5b('0x5b')](_0x3e5b('0xb0'));_0x47b810[_0x3e5b('0xb1')]=_0x141393;_0x47b810[_0x3e5b('0xb2')]=_0x141393;_0x47b810['dialAnswer']=!![];_0x17f60f[_0x3e5b('0x6e')]+=0x1;logger[_0x3e5b('0x59')]('[syncHangup][talking][increment]',_0x47b810[_0x3e5b('0xb3')],'\x20Queue',_0x17f60f['name'],_0x3e5b('0x6d'),_0x17f60f[_0x3e5b('0x6e')]);ami['emit'](_0x3e5b('0xb4'),ut[_0x3e5b('0xa3')](_0x47b810,'connect',this[_0x3e5b('0x14')][_0x47b810[_0x3e5b('0x6c')]]));if(_0x17f60f[_0x3e5b('0xb5')]){ami[_0x3e5b('0x24')](_0x3e5b('0xb6'),ut[_0x3e5b('0xb7')](_0x47b810));}break;case'16':ami['emit']('custom:agentcomplete',ut[_0x3e5b('0xa3')](_0x47b810,'complete',this['campaignsPreview'][_0x47b810[_0x3e5b('0x6c')]]));emitVoiceQueueChannelRemove(ut[_0x3e5b('0xa3')](_0x47b810,_0x3e5b('0xb8')));_0x17f60f['outboundAnswerCallsDay']+=0x1;_0x17f60f[_0x3e5b('0xb9')]+=0x1;_0x17f60f['answered']+=0x1;ut[_0x3e5b('0x7b')](_0x17f60f,'[16]');_0x47b810[_0x3e5b('0x9f')]=ut[_0x3e5b('0xa0')](_0x47b810);ut[_0x3e5b('0xba')](_0x47b810,0x4,_0x3e5b('0xbb'));rpcDb['createCustomerHistory'](_0x47b810,_0x3e5b('0xbc'));rpcDb['createCustomerFinal'](_0x47b810,_0x3e5b('0xbd'));rpcDb[_0x3e5b('0xbe')](_0x47b810);_0x17f60f['sumDuration']+=_0x47b810[_0x3e5b('0xbf')];_0x17f60f[_0x3e5b('0x2b')]+=_0x47b810[_0x3e5b('0xbf')];logger['info'](_0x3e5b('0xc0'),_0x47b810[_0x3e5b('0xb3')],_0x3e5b('0xc1'),_0x17f60f['name'],_0x3e5b('0x6d'),_0x17f60f[_0x3e5b('0x6e')]);delete this['actions'][_0x465826[_0x3e5b('0xc2')]];break;case _0x3e5b('0xc3'):_0x17f60f[_0x3e5b('0x38')]+=0x1;_0x47b810['countbusyretry']+=0x1;_0x47b810[_0x3e5b('0x9f')]=ut[_0x3e5b('0xa0')](_0x47b810);ut[_0x3e5b('0xba')](_0x47b810,0x5,_0x3e5b('0xc4'));ami['emit'](_0x3e5b('0xc5'),ut['buildObj'](_0x47b810,_0x3e5b('0xc6')));rpcDb['createCustomerHistory'](_0x47b810,_0x3e5b('0xc7'));if(ut[_0x3e5b('0xa0')](_0x47b810)>=_0x17f60f['dialGlobalMaxRetry']){_0x35ec82=ut[_0x3e5b('0xa6')](_0x47b810,0xf,_0x3e5b('0xa7'));rpcDb['createCustomerFinal'](_0x35ec82,_0x3e5b('0xc8'));}else{if(_0x47b810[_0x3e5b('0xc9')]>=_0x17f60f[_0x3e5b('0xca')]){rpcDb[_0x3e5b('0xaa')](_0x47b810,'[callProgressDetectingCustomer][logBusy]');}else{rpcDb['rescheduleContact'](ut[_0x3e5b('0xac')](_0x47b810,_0x3e5b('0xc9'),_0x17f60f[_0x3e5b('0xcb')]),_0x47b810[_0x3e5b('0xae')],_0x47b810[_0x3e5b('0xcc')]);}}break;case _0x3e5b('0xcd'):_0x17f60f['outboundNoAnswerCallsDay']+=0x1;_0x47b810['countnoanswerretry']+=0x1;_0x47b810[_0x3e5b('0x9f')]=ut[_0x3e5b('0xa0')](_0x47b810);ut[_0x3e5b('0xba')](_0x47b810,0x3,_0x3e5b('0xce'));ami[_0x3e5b('0x24')](_0x3e5b('0xcf'),ut[_0x3e5b('0xa3')](_0x47b810,_0x3e5b('0xd0')));rpcDb['createCustomerHistory'](_0x47b810,'[callProgressDetectingCustomer][logNoAnswer]');if(ut[_0x3e5b('0xa0')](_0x47b810)>=_0x17f60f['dialGlobalMaxRetry']){_0x35ec82=ut[_0x3e5b('0xa6')](_0x47b810,0xf,_0x3e5b('0xa7'));rpcDb[_0x3e5b('0xaa')](_0x35ec82,_0x3e5b('0xd1'));}else{if(_0x47b810[_0x3e5b('0xd2')]>=_0x17f60f[_0x3e5b('0xd3')]){rpcDb[_0x3e5b('0xaa')](_0x47b810,_0x3e5b('0xd4'));}else{rpcDb[_0x3e5b('0xab')](ut[_0x3e5b('0xac')](_0x47b810,_0x3e5b('0xd2'),_0x17f60f[_0x3e5b('0xd5')]),_0x47b810[_0x3e5b('0xae')],_0x47b810['activeContact']);}}break;case'CONGESTION':_0x17f60f[_0x3e5b('0x39')]+=0x1;_0x47b810[_0x3e5b('0xd6')]+=0x1;_0x47b810[_0x3e5b('0x9f')]=ut[_0x3e5b('0xa0')](_0x47b810);ut['logCustomer'](_0x47b810,0x8,_0x3e5b('0xd7'));ami['emit'](_0x3e5b('0xd8'),ut['buildObj'](_0x47b810,_0x3e5b('0xd9')));rpcDb[_0x3e5b('0x92')](_0x47b810,_0x3e5b('0xda'));if(ut[_0x3e5b('0xa0')](_0x47b810)>=_0x17f60f[_0x3e5b('0xdb')]){_0x35ec82=ut[_0x3e5b('0xa6')](_0x47b810,0xf,_0x3e5b('0xa7'));rpcDb[_0x3e5b('0xaa')](_0x35ec82,_0x3e5b('0xdc'));}else{if(_0x47b810['countcongestionretry']>=_0x17f60f[_0x3e5b('0xdd')]){rpcDb[_0x3e5b('0xaa')](_0x47b810,'[callProgressDetectingCustomer][logCongestion]');}else{rpcDb[_0x3e5b('0xab')](ut[_0x3e5b('0xac')](_0x47b810,_0x3e5b('0xd6'),_0x17f60f[_0x3e5b('0xcb')]),_0x47b810[_0x3e5b('0xae')],_0x47b810[_0x3e5b('0xcc')]);}}break;case _0x3e5b('0xde'):_0x17f60f[_0x3e5b('0x41')]+=0x1;_0x47b810[_0x3e5b('0xdf')]+=0x1;_0x47b810[_0x3e5b('0x9f')]=ut[_0x3e5b('0xa0')](_0x47b810);ut[_0x3e5b('0xba')](_0x47b810,0x14,'AgentReject');ami[_0x3e5b('0x24')](_0x3e5b('0xe0'),ut['buildObj'](_0x47b810,'agentreject'));rpcDb[_0x3e5b('0x92')](_0x47b810,_0x3e5b('0xe1'));if(ut[_0x3e5b('0xa0')](_0x47b810)>=_0x17f60f[_0x3e5b('0xdb')]){_0x35ec82=ut[_0x3e5b('0xa6')](_0x47b810,0x14,'AgentReject');rpcDb[_0x3e5b('0xaa')](_0x35ec82,_0x3e5b('0xe2'));}else{if(_0x47b810['countagentrejectretry']>=_0x17f60f['dialAgentRejectMaxRetry']){rpcDb[_0x3e5b('0xaa')](_0x47b810,_0x3e5b('0xe2'));}else{rpcDb['rescheduleContact'](ut['scheduledAt'](_0x47b810,_0x3e5b('0xdf'),_0x17f60f[_0x3e5b('0xe3')]),_0x47b810['unlockAgent'],_0x47b810[_0x3e5b('0xcc')]);}}break;case _0x3e5b('0xe4'):_0x17f60f[_0x3e5b('0x42')]+=0x1;_0x47b810[_0x3e5b('0xe5')]+=0x1;_0x47b810[_0x3e5b('0x9f')]=ut['totalGlobal'](_0x47b810);ut['logCustomer'](_0x47b810,0xb,_0x3e5b('0xe6'));rpcDb[_0x3e5b('0x92')](_0x47b810,_0x3e5b('0xe7'));if(ut[_0x3e5b('0xa0')](_0x47b810)>=_0x17f60f[_0x3e5b('0xdb')]){_0x35ec82=ut[_0x3e5b('0xa6')](_0x47b810,0xf,_0x3e5b('0xa7'));rpcDb[_0x3e5b('0xaa')](_0x35ec82,_0x3e5b('0xe7'));}else{if(_0x47b810[_0x3e5b('0xe8')]>=_0x17f60f[_0x3e5b('0xe9')]){rpcDb[_0x3e5b('0xaa')](_0x47b810,_0x3e5b('0xe7'));}else{rpcDb[_0x3e5b('0xab')](ut[_0x3e5b('0xac')](_0x47b810,_0x3e5b('0xe5'),_0x17f60f[_0x3e5b('0xea')]),_0x47b810[_0x3e5b('0xae')],_0x47b810[_0x3e5b('0xcc')]);}}break;case'18':_0x17f60f[_0x3e5b('0xeb')]+=0x1;_0x47b810[_0x3e5b('0xec')]+=0x1;_0x47b810[_0x3e5b('0x9f')]=ut[_0x3e5b('0xa0')](_0x47b810);ut[_0x3e5b('0xba')](_0x47b810,0x12,_0x465826[_0x3e5b('0xed')]||_0x465826['dialstatus']);ami['emit'](_0x3e5b('0xee'),ut[_0x3e5b('0xa3')](_0x47b810,_0x3e5b('0xef')));rpcDb[_0x3e5b('0x92')](_0x47b810,'[callProgressDetectingCustomer][hangupInAMD]');if(ut[_0x3e5b('0xa0')](_0x47b810)>=_0x17f60f['dialGlobalMaxRetry']){_0x35ec82=ut[_0x3e5b('0xa6')](_0x47b810,0xf,_0x3e5b('0xa7'));rpcDb[_0x3e5b('0xaa')](_0x35ec82,_0x3e5b('0xf0'));}else{rpcDb[_0x3e5b('0xaa')](_0x47b810,'[callProgressDetectingCustomer][hangupInAMD]');}delete this[_0x3e5b('0x17')][_0x465826[_0x3e5b('0xc2')]];break;case'19':_0x17f60f[_0x3e5b('0xeb')]+=0x1;_0x47b810[_0x3e5b('0x9f')]=ut[_0x3e5b('0xa0')](_0x47b810);ut[_0x3e5b('0xba')](_0x47b810,0x13,_0x465826['cause-txt']||_0x465826['dialstatus']);ami[_0x3e5b('0x24')]('custom:amd',ut[_0x3e5b('0xa3')](_0x47b810,_0x3e5b('0xef')));rpcDb[_0x3e5b('0x92')](_0x47b810,_0x3e5b('0xf1'));if(ut['totalGlobal'](_0x47b810)>=_0x17f60f['dialGlobalMaxRetry']){_0x35ec82=ut[_0x3e5b('0xa6')](_0x47b810,0xf,_0x3e5b('0xa7'));rpcDb[_0x3e5b('0xaa')](_0x35ec82,_0x3e5b('0xf1'));}else{rpcDb[_0x3e5b('0xaa')](_0x47b810,_0x3e5b('0xf1'));}delete this['actions'][_0x465826['linkedid']];break;default:if(_0x47b810[_0x3e5b('0x6f')]){ut[_0x3e5b('0x7b')](_0x17f60f,_0x3e5b('0xf2'));ut[_0x3e5b('0x7c')](_0x3e5b('0xf3')+_0x17f60f[_0x3e5b('0x54')],_0x465826);}_0x17f60f[_0x3e5b('0xeb')]+=0x1;_0x47b810[_0x3e5b('0x9f')]=ut[_0x3e5b('0xa0')](_0x47b810);ut[_0x3e5b('0xba')](_0x47b810,0xc,_0x465826[_0x3e5b('0xed')]||_0x465826[_0x3e5b('0xf4')]);rpcDb[_0x3e5b('0x92')](_0x47b810,_0x3e5b('0xf5'));if(ut[_0x3e5b('0xa0')](_0x47b810)>=_0x17f60f['dialGlobalMaxRetry']){_0x35ec82=ut[_0x3e5b('0xa6')](_0x47b810,0xf,_0x3e5b('0xa7'));rpcDb[_0x3e5b('0xaa')](_0x35ec82,_0x3e5b('0xf6'));}else{rpcDb[_0x3e5b('0xaa')](_0x47b810,_0x3e5b('0xf6'));}delete this[_0x3e5b('0x17')][_0x465826['linkedid']];}if(!(_0x47b810[_0x3e5b('0x6f')]&&_0x2929ba==='16')){ut[_0x3e5b('0x79')](_0x17f60f,_0x3e5b('0xf7'));logger[_0x3e5b('0x59')]('[originated][decrement][callProgressDetectingCustomer]',_0x47b810[_0x3e5b('0xb3')],_0x3e5b('0xc1'),_0x17f60f[_0x3e5b('0x54')],_0x3e5b('0xf8'),_0x17f60f[_0x3e5b('0x4c')]);}if(_0x2929ba!==_0x3e5b('0xaf')){delete this[_0x3e5b('0x17')][_0x465826[_0x3e5b('0xc2')]];delete this[_0x3e5b('0x17')][_0x465826[_0x3e5b('0xf9')]];}}};Preview[_0x3e5b('0xf')][_0x3e5b('0xfa')]=function(_0x4c8209,_0x22820d,_0x2231f2){if(_[_0x3e5b('0xfb')](_0x22820d)&&_0x3e5b('0xfc')!==typeof _0x22820d){return;}if(_[_0x3e5b('0xfb')](_0x2231f2)&&_0x3e5b('0xfc')!==typeof _0x2231f2){return;}switch(_0x2231f2[_0x3e5b('0xfd')]){case'0':ut[_0x3e5b('0xfe')](_0x4c8209,0x0,_0x3e5b('0xa1'));rpcDb['createAgentHistory'](_0x4c8209,'[callProgressDetectingAgent][logNoSuch]');break;case'3':ut[_0x3e5b('0xfe')](_0x4c8209,0x3,_0x3e5b('0xce'));rpcDb[_0x3e5b('0xff')](_0x4c8209,'[callProgressDetectingAgent][logNoAnswer]');break;case'5':ut[_0x3e5b('0xfe')](_0x4c8209,0x5,_0x3e5b('0xc4'));rpcDb['createAgentHistory'](_0x4c8209,_0x3e5b('0x100'));break;case'8':ut[_0x3e5b('0xfe')](_0x4c8209,0x8,_0x3e5b('0xd7'));rpcDb[_0x3e5b('0xff')](_0x4c8209,_0x3e5b('0x101'));break;case'22':ut[_0x3e5b('0xfe')](_0x4c8209,0x16,_0x3e5b('0x102'));rpcDb[_0x3e5b('0xff')](_0x4c8209,_0x3e5b('0x103'));break;default:ut[_0x3e5b('0xfe')](_0x4c8209,0xc,_0x2231f2['reason']);rpcDb[_0x3e5b('0xff')](_0x4c8209,'[callProgressDetectingAgent][logCongestion]');}ut[_0x3e5b('0x79')](_0x22820d,_0x3e5b('0x104'));logger[_0x3e5b('0x59')](_0x3e5b('0x105'),_0x4c8209[_0x3e5b('0xb3')],'\x20Queue',_0x22820d[_0x3e5b('0x54')],_0x3e5b('0xf8'),_0x22820d[_0x3e5b('0x4c')]);delete this[_0x3e5b('0x17')][_0x4c8209[_0x3e5b('0xb3')]];};Preview[_0x3e5b('0xf')][_0x3e5b('0x106')]=function(_0x5d41f4,_0xef28e4,_0x36e032,_0x5027ef,_0x376672){var _0xa93df2=this;return new BPromise(function(_0x4fe9ed,_0x50290f){if(_['isNil'](_0xef28e4)||_[_0x3e5b('0x82')](_0xef28e4[_0x3e5b('0x107')])||_[_0x3e5b('0x82')](_0xef28e4['Contact']['phone'])||_[_0x3e5b('0x82')](_0xef28e4[_0x3e5b('0x73')])){_0x50290f(ut['message']('Contact\x20is\x20undefined',_0x5027ef,_0x376672));return;}var _0x59b97e=uuid['v4']();var _0x374c7a=_0xa93df2[_0x3e5b('0x14')][_0xef28e4[_0x3e5b('0x108')][_0x3e5b('0x54')]];var _0x543d09=_0x36e032?_0xa93df2[_0x3e5b('0x18')][_0x36e032]['id']:undefined;_0xa93df2[_0x3e5b('0x17')][_0x59b97e]=new Action(_0xef28e4,_0x374c7a,_0x59b97e,_0x36e032,_0x543d09);var _0x6dc9ea=_0xa93df2['actions'][_0x59b97e];_0x6dc9ea[_0x3e5b('0xae')]=_0x5027ef;_0x6dc9ea[_0x3e5b('0xcc')]=_0x376672;_0x6dc9ea[_0x3e5b('0x109')]=_0x36e032;if(_['isEmpty'](_0x5d41f4)){_0xa93df2['execCall'](_0x6dc9ea,_0x374c7a,_0xef28e4,_0x36e032)[_0x3e5b('0x8a')](function(_0xab370e){logger[_0x3e5b('0x59')](_0x3e5b('0x10a'),_0x3e5b('0x10b')+_0x6dc9ea['queue']+_0x3e5b('0x10c')+_0x6dc9ea[_0x3e5b('0x10d')],JSON[_0x3e5b('0x57')](_0xab370e));ami[_0x3e5b('0x24')](_0x3e5b('0x10e'),ut[_0x3e5b('0xa3')](_0x6dc9ea,'called',_0xa93df2[_0x3e5b('0x14')][_0x6dc9ea[_0x3e5b('0x6c')]]));_0x4fe9ed(ut[_0x3e5b('0x5e')]('Calling'));})[_0x3e5b('0x95')](function(_0x2dd452){ut[_0x3e5b('0x60')](_0x3e5b('0x10f'),_0x2dd452);_0x50290f(ut[_0x3e5b('0x5e')]('Call\x20failed',_0x5027ef,_0x376672));});}else{_0x374c7a['outboundBlacklistCallsDay']+=0x1;ut['logBlacklist'](_0x6dc9ea);rpcDb['createHistory'](_0x6dc9ea,'[Blacklist][error]');delete _0xa93df2[_0x3e5b('0x17')][_0x59b97e];_0x50290f(ut[_0x3e5b('0x5e')](_0x3e5b('0x110'),_0x5027ef,_0x376672));}});};Preview['prototype'][_0x3e5b('0x9a')]=function(_0x5548d3){return!_['isNil'](_0x5548d3)&&!_[_0x3e5b('0x82')](_0x5548d3[_0x3e5b('0x54')])&&!_['isNil'](_0x5548d3[_0x3e5b('0x55')])&&_0x5548d3['active']&&!_[_0x3e5b('0x82')](this['trunks'][util[_0x3e5b('0x5b')](_0x3e5b('0x111'),_0x5548d3[_0x3e5b('0x54')])])&&!_[_0x3e5b('0x82')](this['trunks'][util[_0x3e5b('0x5b')](_0x3e5b('0x111'),_0x5548d3[_0x3e5b('0x54')])][_0x3e5b('0x76')])&&(this[_0x3e5b('0x16')][util['format'](_0x3e5b('0x111'),_0x5548d3[_0x3e5b('0x54')])]['status']===_0x3e5b('0x112')||this['trunks'][util[_0x3e5b('0x5b')](_0x3e5b('0x111'),_0x5548d3[_0x3e5b('0x54')])]['status']==='unmonitored');};Preview['prototype']['run']=function(_0x814ed6,_0x3b06ea){var _0x93aa1b=this;return new BPromise(function(_0x5515d0,_0x4f6767){_0x93aa1b['execRun'](_0x814ed6,_0x3b06ea)['then'](function(_0x296438){_0x5515d0(_[_0x3e5b('0x70')](_0x296438,[_0x3e5b('0x5e')]));})['catch'](function(_0xed66d7){if(_0xed66d7[_0x3e5b('0x113')]){rpcDb[_0x3e5b('0x114')](_0x814ed6);}if(_0xed66d7['active']){rpcDb[_0x3e5b('0x8d')](_0x814ed6);}_0x4f6767(_['pick'](_0xed66d7,[_0x3e5b('0x5e')]));});});};Preview['prototype'][_0x3e5b('0x115')]=function(_0x3b4b70,_0x408741){var _0x414b50=this;return new BPromise(function(_0x10fc88,_0x127d75){var _0x370c16,_0x558409;rpcDb[_0x3e5b('0x116')](_0x3b4b70)['then'](function(_0x259c6d){if(!_['isNil'](_0x259c6d[0x0])){_0x558409=_0x259c6d[0x0][_0x3e5b('0x117')]?![]:!![];_0x370c16=_0x259c6d[0x0]['recallme']?!![]:![];_0x370c16=_0x408741?!![]:_0x370c16;}var _0x39d52e=_0x414b50[_0x3e5b('0x118')](_0x259c6d);if(_0x39d52e[_0x3e5b('0x119')]){rpcDb[_0x3e5b('0x11a')](_[_0x3e5b('0x70')](_0x259c6d[0x0],[_0x3e5b('0x73'),_0x3e5b('0x11b')]))['then'](function(_0x48ae5b){_0x414b50[_0x3e5b('0x106')](_0x48ae5b,_0x259c6d[0x0],_0x408741,_0x558409,_0x370c16)[_0x3e5b('0x8a')](function(_0x21a2a6){_0x10fc88(_0x21a2a6);})['catch'](function(_0x4a1cba){_0x127d75(_0x4a1cba);});})[_0x3e5b('0x95')](function(_0x559ab2){ut[_0x3e5b('0x60')](_0x3e5b('0x11c'),_0x559ab2);_0x127d75(ut[_0x3e5b('0x5e')](_0x3e5b('0x11d'),_0x558409,_0x370c16));});}else{_0x127d75(ut[_0x3e5b('0x5e')](_0x39d52e[_0x3e5b('0x5e')],_0x558409,_0x370c16));}})[_0x3e5b('0x95')](function(_0x410b7f){ut[_0x3e5b('0x60')]('[Preview][getContactPreview]',_0x410b7f);_0x127d75(ut[_0x3e5b('0x5e')](_0x3e5b('0x11d'),![],!![]));});});};Preview['prototype'][_0x3e5b('0x118')]=function(_0x1d273f){if(_['isNil'](_0x1d273f)||_[_0x3e5b('0x11e')](_0x1d273f)||!_[_0x3e5b('0x82')](_0x1d273f[0x0]['Agent'])&&_[_0x3e5b('0x82')](_0x1d273f[0x0]['Agent'][_0x3e5b('0x54')])){ut['logger'](_0x3e5b('0x11f'),_0x1d273f);return{'isValid':![],'message':'Empty\x20Contact'};}var _0x1fb82d=this[_0x3e5b('0x14')][_0x1d273f[0x0][_0x3e5b('0x108')][_0x3e5b('0x54')]];_0x1fb82d[_0x3e5b('0x5e')]=_0x3e5b('0x9c');if(_[_0x3e5b('0x82')](_0x1fb82d)){ut['logger'](_0x3e5b('0x120'),_0x1fb82d);return{'isValid':![],'message':_0x3e5b('0x121')};}if(!this[_0x3e5b('0x9a')](_0x1fb82d[_0x3e5b('0x53')])){ut[_0x3e5b('0x60')](_0x3e5b('0x122'),_0x3e5b('0x123')+_0x1fb82d[_0x3e5b('0x54')]+_0x3e5b('0x124'));if(!this[_0x3e5b('0x9a')](_0x1fb82d[_0x3e5b('0x9b')])){ut[_0x3e5b('0x60')](_0x3e5b('0x122'),_0x1fb82d['name']+_0x3e5b('0x125'));return{'isValid':![],'message':_0x3e5b('0x126')};}}if(!ut[_0x3e5b('0x99')](_0x1fb82d[_0x3e5b('0x32')])){ut[_0x3e5b('0x60')](_0x3e5b('0x127'),_0x1fb82d[_0x3e5b('0x54')]+_0x3e5b('0x128'));return{'isValid':![],'message':_0x3e5b('0x123')+_0x1fb82d[_0x3e5b('0x54')]+_0x3e5b('0x128')};}return{'isValid':!![],'message':'Is\x20Valid'};};Preview['prototype']['execCall']=function(_0xb291c3,_0x34bcd8,_0x1c05c5,_0x438fca){var _0x2f96b7=this;return new BPromise(function(_0x268453,_0x285820){var _0x156c73=_0xb291c3['uniqueid'];var _0x1b4d1b=_0x2f96b7[_0x3e5b('0x9a')](_0x34bcd8[_0x3e5b('0x53')])?util[_0x3e5b('0x5b')](_0x3e5b('0x129'),_0x34bcd8[_0x3e5b('0x53')][_0x3e5b('0x54')],_[_0x3e5b('0x82')](_0x34bcd8[_0x3e5b('0x12a')])?'':_0x34bcd8[_0x3e5b('0x12a')][_0x3e5b('0x12b')]()||'',_0x34bcd8[_0x3e5b('0x12c')]>0x0?_0x1c05c5[_0x3e5b('0x107')][_0x3e5b('0x12d')]['substring'](_0x34bcd8[_0x3e5b('0x12c')]):_0x1c05c5[_0x3e5b('0x107')][_0x3e5b('0x12d')]):util[_0x3e5b('0x5b')](_0x3e5b('0x129'),_[_0x3e5b('0x82')](_0x34bcd8[_0x3e5b('0x9b')])?_0x34bcd8['Trunk'][_0x3e5b('0x54')]:_0x34bcd8[_0x3e5b('0x9b')]['name'],_['isNil'](_0x34bcd8[_0x3e5b('0x12a')])?'':_0x34bcd8[_0x3e5b('0x12a')][_0x3e5b('0x12b')]()||'',_0x34bcd8[_0x3e5b('0x12c')]>0x0?_0x1c05c5[_0x3e5b('0x107')]['phone'][_0x3e5b('0x12e')](_0x34bcd8[_0x3e5b('0x12c')]):_0x1c05c5[_0x3e5b('0x107')]['phone']);var _0x5195e2=_0x2f96b7[_0x3e5b('0x9a')](_0x34bcd8[_0x3e5b('0x53')])?ut[_0x3e5b('0x12f')](_0x34bcd8['Trunk'][_0x3e5b('0x130')],_0x34bcd8[_0x3e5b('0x34')],_0x34bcd8['dialRandomLastDigitCallerIdNumber']>0x0?ut[_0x3e5b('0x131')](_0x34bcd8[_0x3e5b('0x132')],_0x34bcd8[_0x3e5b('0x133')]):_0x34bcd8[_0x3e5b('0x132')]):ut[_0x3e5b('0x12f')](_['isNil'](_0x34bcd8[_0x3e5b('0x9b')])?_0x34bcd8[_0x3e5b('0x53')][_0x3e5b('0x130')]:_0x34bcd8['TrunkBackup'][_0x3e5b('0x130')],_0x34bcd8[_0x3e5b('0x34')],_0x34bcd8['dialRandomLastDigitCallerIdNumber']>0x0?ut['getCallerIdRandom'](_0x34bcd8[_0x3e5b('0x132')],_0x34bcd8[_0x3e5b('0x133')]):_0x34bcd8['dialOriginateCallerIdNumber']);if(_0x5195e2){_0xb291c3[_0x3e5b('0x134')]=ut['extractCalleridName'](_0x5195e2);_0xb291c3['originatecalleridnum']=ut['extractCalleridNumber'](_0x5195e2);}var _0x284dec=ut[_0x3e5b('0x135')](_0x34bcd8,_0x1c05c5,_0x1b4d1b,_0x5195e2,_0x156c73,_0xb291c3);_[_0x3e5b('0x136')](_0xb291c3,ut[_0x3e5b('0x137')](_0x284dec));_0xb291c3['starttime']=moment()['format'](_0x3e5b('0xb0'));ami[_0x3e5b('0x75')](ut[_0x3e5b('0x138')](_0xb291c3,_0x34bcd8,_0x284dec,_0xb291c3[_0x3e5b('0xcc')],_0x438fca))['then'](function(_0x2d8008){_0x34bcd8['originated']+=0x1;logger[_0x3e5b('0x59')]('[originated][increment]',_0x156c73,'\x20Queue',_0x34bcd8[_0x3e5b('0x54')],'originated:\x20',_0x34bcd8[_0x3e5b('0x4c')]);_0x268453(_0x2d8008);})[_0x3e5b('0x95')](function(_0x204732){ut['logAgent'](_0xb291c3,0xe,'OriginateError');rpcDb['createAgentHistory'](_0xb291c3,'[originateFailure][logOriginateFailure]');_0x285820(_0x204732);});});};Preview['prototype'][_0x3e5b('0x1f')]=function(_0x300696){if(this[_0x3e5b('0x17')][_0x300696[_0x3e5b('0xc2')]]){this['actions'][_0x300696[_0x3e5b('0xc2')]][_0x3e5b('0x77')]=_0x300696[_0x3e5b('0x77')];}};Preview[_0x3e5b('0xf')][_0x3e5b('0x139')]=function(_0x27a5e2){var _0x4803f2=this;var _0x373066=this[_0x3e5b('0x17')][_0x27a5e2[_0x3e5b('0x13a')]];if(_0x373066){if(_0x373066[_0x3e5b('0x109')]&&this[_0x3e5b('0x18')][_0x373066['lookAgent']]){ut[_0x3e5b('0x13b')](_0x373066,this[_0x3e5b('0x18')][_0x373066['lookAgent']][_0x3e5b('0x54')],this[_0x3e5b('0x18')][_0x373066[_0x3e5b('0x109')]]['id']);}var _0x34c414=_['clone'](_0x373066);_0x34c414['responsetime']=moment()[_0x3e5b('0x5b')](_0x3e5b('0xb0'));var _0x5881d2=_0x4803f2['campaignsPreview'][_0x373066['queue']];if(ut['isFailure'](_0x27a5e2[_0x3e5b('0x13c')])){if(_0x373066[_0x3e5b('0xae')]){rpcDb['unlockContact'](_0x373066[_0x3e5b('0x10d')]);}if(_0x373066['activeContact']){rpcDb[_0x3e5b('0x8d')](_0x373066[_0x3e5b('0x10d')]);}ami[_0x3e5b('0x24')](_0x3e5b('0x13d'),ut[_0x3e5b('0xa3')](_0x373066,'rejected',this['campaignsPreview'][_0x373066[_0x3e5b('0x6c')]]));this['callProgressDetectingAgent'](_0x34c414,_0x5881d2,_0x27a5e2);}else{_0x373066[_0x3e5b('0x13e')]=moment()[_0x3e5b('0x5b')](_0x3e5b('0xb0'));ut['logAgent'](_0x34c414,0x4,_0x3e5b('0xbb'));rpcDb[_0x3e5b('0xff')](_0x34c414,'[callProgressDetectingAgent][logAnswer]');}}};Preview['prototype'][_0x3e5b('0x1b')]=function(_0x5315d1){var _0x592a35=this;var _0xba0c16=this[_0x3e5b('0x17')][_0x5315d1[_0x3e5b('0xc2')]];var _0x26b692;if(_0xba0c16){_0x26b692=this[_0x3e5b('0x14')][_0xba0c16[_0x3e5b('0x6c')]];logger[_0x3e5b('0x59')](_0x3e5b('0x13f'),_0x5315d1['linkedid'],'\x20Queue',_0x26b692[_0x3e5b('0x54')],'pTalking:\x20',_0x26b692['pTalking']);}if(this[_0x3e5b('0x17')][_0x5315d1['linkedid']]&&_0x5315d1[_0x3e5b('0xc2')]!==_0x5315d1[_0x3e5b('0xb3')]){if(_0x5315d1[_0x3e5b('0x140')]==='16'&&this[_0x3e5b('0x17')][_0x5315d1[_0x3e5b('0xc2')]][_0x3e5b('0x6f')]){this[_0x3e5b('0x9d')](_0x5315d1,_0x5315d1[_0x3e5b('0xc2')],_0x5315d1[_0x3e5b('0x140')]);}else if(this[_0x3e5b('0x17')][_0x5315d1['linkedid']][_0x3e5b('0x6f')]){logger['info']('[syncHangup][talking][cause]',_0x5315d1[_0x3e5b('0xc2')],_0x5315d1[_0x3e5b('0x140')],'\x20Queue',_0x26b692[_0x3e5b('0x54')],_0x3e5b('0x6d'),_0x26b692[_0x3e5b('0x6e')]);this[_0x3e5b('0x9d')](_0x5315d1,_0x5315d1['linkedid'],_0x5315d1[_0x3e5b('0x140')]);}}else if(_0xba0c16&&_['isNil'](_0xba0c16[_0x3e5b('0x141')])&&_0x26b692[_0x3e5b('0x142')]&&_0x5315d1[_0x3e5b('0xc2')]===_0x5315d1[_0x3e5b('0xb3')]&&_['isNil'](_0x5315d1[_0x3e5b('0xfd')])&&_0x5315d1[_0x3e5b('0x140')]==='16'&&_0x5315d1[_0x3e5b('0x143')]==='6'&&_[_0x3e5b('0xfb')](_0xba0c16[_0x3e5b('0x144')])){if(_0xba0c16['unlockAgent']){rpcDb[_0x3e5b('0x114')](_0xba0c16[_0x3e5b('0x10d')]);}if(_0xba0c16[_0x3e5b('0xcc')]){rpcDb[_0x3e5b('0x8d')](_0xba0c16['idContact']);}_0x5315d1['reason']='22';this[_0x3e5b('0xfa')](_0xba0c16,_0x26b692,_0x5315d1);}else if(_0xba0c16&&_0xba0c16[_0x3e5b('0x144')]){if(_0x5315d1[_0x3e5b('0x140')]==='16'&&this[_0x3e5b('0x17')][_0x5315d1['linkedid']][_0x3e5b('0x6f')]){logger['info'](_0x3e5b('0x145'),_0x5315d1['linkedid'],_0x5315d1[_0x3e5b('0x140')],_0x3e5b('0xc1'),_0x26b692[_0x3e5b('0x54')],_0x3e5b('0x6d'),_0x26b692[_0x3e5b('0x6e')]);this[_0x3e5b('0x9d')](_0x5315d1,_0x5315d1[_0x3e5b('0xc2')],_0x5315d1[_0x3e5b('0x140')]);}else if(this[_0x3e5b('0x17')][_0x5315d1[_0x3e5b('0xc2')]][_0x3e5b('0x6f')]){logger[_0x3e5b('0x59')](_0x3e5b('0x146'),_0x5315d1[_0x3e5b('0xc2')],_0x5315d1[_0x3e5b('0x140')],_0x3e5b('0xc1'),_0x26b692['name'],'pTalking:\x20',_0x26b692['pTalking']);this[_0x3e5b('0x9d')](_0x5315d1,_0x5315d1[_0x3e5b('0xc2')],_0x5315d1[_0x3e5b('0x140')]);}}};Preview['prototype'][_0x3e5b('0x1e')]=function(_0x16bb54){if(this[_0x3e5b('0x17')][_0x16bb54[_0x3e5b('0xf9')]]&&_0x16bb54[_0x3e5b('0xf9')]!==_0x16bb54[_0x3e5b('0x147')]){this[_0x3e5b('0x9d')](_0x16bb54,_0x16bb54[_0x3e5b('0xf9')],_0x16bb54[_0x3e5b('0xf4')]);}};Preview[_0x3e5b('0xf')]['syncHangupRequest']=function(_0x395e42){if(this[_0x3e5b('0x17')][_0x395e42['linkedid']]&&_0x395e42[_0x3e5b('0xc2')]!==_0x395e42[_0x3e5b('0xb3')]&&!this[_0x3e5b('0x17')][_0x395e42[_0x3e5b('0xc2')]]['dialAnswer']){if(_0x395e42[_0x3e5b('0x140')]==='1'){this['callProgressDetectingCustomer'](_0x395e42,_0x395e42[_0x3e5b('0xc2')],_0x395e42[_0x3e5b('0x140')]);}}};Preview['prototype'][_0x3e5b('0x148')]=function(_0x22208f,_0x5044e0,_0x5bc879){if(this['actions'][_0x22208f]){if(_[_0x3e5b('0x82')](this[_0x3e5b('0x17')][_0x22208f][_0x3e5b('0x149')])){this[_0x3e5b('0x17')][_0x22208f][_0x3e5b('0x149')]={};}this[_0x3e5b('0x17')][_0x22208f][_0x3e5b('0x149')][_0x5044e0]=_0x5bc879;}};Preview[_0x3e5b('0xf')][_0x3e5b('0x20')]=function(_0x13583c){try{if(!_[_0x3e5b('0x82')](_0x13583c)){if(ut[_0x3e5b('0x14a')](_[_0x3e5b('0x14b')](_0x13583c['variable'])[0x0])){this[_0x3e5b('0x148')](_0x13583c[_0x3e5b('0xb3')],_['keys'](_0x13583c['variable'])[0x0],_0x13583c['value']);}}}catch(_0x245a95){logger['error'](_0x3e5b('0x14c'),util[_0x3e5b('0x14d')](_0x245a95,{'showHidden':![],'depth':null}));}};Preview[_0x3e5b('0xf')][_0x3e5b('0x14e')]=function(_0x4f07eb){if(_0x4f07eb){if(this['actions'][_0x4f07eb[_0x3e5b('0x14f')]]){this[_0x3e5b('0x17')][_0x4f07eb[_0x3e5b('0x14f')]][_0x3e5b('0x144')]=!![];}}};Preview[_0x3e5b('0xf')][_0x3e5b('0x22')]=function(_0x50d495){if(_0x50d495){if(this['actions'][_0x50d495[_0x3e5b('0x150')]]){this[_0x3e5b('0x17')][_0x50d495['transfererlinkedid']]['transfer']=!![];}}};module[_0x3e5b('0x151')]=Preview;