6a3a997a66ba33d617575646b666f44763633dd5
[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 _0x1bbf=['countabandonedretry','Abandoned','[callProgressDetectingCustomer][logAbandoned]','dialAbandonedMaxRety','[default]','[Dialer][decrementTalkink][no\x20Hangup][Preview]','cause-txt','dialstatus','[callProgressDetectingCustomer][logUnknown]','[callProgressDetectingCustomer][logUnknownGlobal]','[callProgressDetectingCustomer]','[originated][decrement][callProgressDetectingCustomer]','originated:\x20','destlinkedid','callProgressDetectingAgent','object','reason','logAgent','createAgentHistory','[callProgressDetectingAgent][logNoSuch]','[callProgressDetectingAgent][logNoAnswer]','Busy','[callProgressDetectingAgent][logBusy]','Congestion','[callProgressDetectingAgent][logCongestion]','AnswerAGI','[callProgressDetectingAgent][logAnswerAGI]','[callProgressDetectingAgent]','[originated][decrement][callProgressDetectingAgent]','checkInBlack','Contact','Contact\x20is\x20undefined','lookAgent','isEmpty','execCall','[Preview][execCall][success]','Queue:\x20','idContact','called','Calling','Call\x20failed','[Blacklist][error]','active','SIP/%s','reachable','unmonitored','pick','execRun','recallme','validateContact','checkIsBlackList','Contact.phone','Call\x20unsuccessful','[Preview][getContactPreview]','[Preview][validateContact][Empty\x20Contact]','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','isActive','\x20Not\x20Active','Is\x20Valid','SIP/%s/%s%s','dialPrefix','trim','dialCutDigit','phone','substring','getCallerId','callerid','getCallerIdRandom','dialRandomLastDigitCallerIdNumber','originatecalleridname','extractCalleridName','originatecalleridnum','extractCalleridNumber','addVariables','merge','toLowerVariables','variablesAction','[originated][increment]','[originateFailure][logOriginateFailure]','channel','syncOriginateResponse','actionid','logLookAgent','isFailure','response','unlockContact','custom:agentringnoanswer','rejected','[callProgressDetectingAgent][logAnswer]','cause','[syncHangup][talking][cause]','statedesc','dialQueueProject','channelstate','isUndefined','transfer','[syncHangup][talking][transfer]','addVariable','variables','filterKey','variable','keys','value','error','[syncVarSet][Preview]','inspect','transfertargetlinkedid','transfererlinkedid','exports','util','lodash','bluebird','uuid','moment','md5','ioredis','../../../config/environment','../../../config/logger','preview','actionPreview','../ami','./rpcDb','./action','./util/util','redis','defaults','prototype','tail','finally','sequence','campaignsPreview','voiceQueues','trunks','agents','clockClearZombieChannels','syncHangupRequest','bind','syncDialEnd','newexten','syncNewExten','varset','syncVarSet','attendedtransfer','syncAttendedTransfer','blindtransfer','syncBlindTransfer','loopCampaigns','emit','type','outbound','name','strategy','answered','available','loggedIn','pTalking','sumBillable','sumDuration','talking','abandoned','loggedInDb','dialActive','dialMethod','dialOriginateCallerIdName','dialOriginateCallerIdNumber','outboundAnswerCallsDay','outboundBlacklistCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundDropCallsDayACS','outboundDropCallsDayCallersExit','outboundDropCallsDayTimeout','outboundNoAnswerCallsDay','outboundNoSuchCallsDay','outboundOriginateFailureCallsDay','outboundReCallsDay','outboundRejectCallsDay','outboundUnknownCallsDay','outboundAbandonedCallsDay','predictiveIntervalAnsweredCalls','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','predictiveIntervalDroppedCallsCallersExit','predictiveIntervalErlangCalls','predictiveIntervalErlangCallsDroppedCalls','predictiveIntervalHitRate','predictiveIntervalMultiplicativeFactor','predictiveIntervalPauses','predictiveIntervalAvailable','message','originated','erlangCalls','erlangCallToSecond','erlangAbandonmentRate','erlangBusyFactor','startPredictive','Trunk','Interval','format','voice:queue:%s','voice_queue:save','[DEBUG]\x20Emit\x20voice_queue_channel:remove\x20event','voice_queue_channel:remove','voice_queue_presence:remove','sendMessageOneNotActive','paused','NOT_ACTIVE','logger','[CampaignPreview]\x20Campaign\x20Queue:\x20','\x20is\x20not\x20active','IS_DISACTIVED','\x20is\x20disactive','syncCampaigns','hasOwnProperty','booked','setMessage','recallMe','clearZombieChannel','enqueue','isNil','actions','info','Queue','stringify','pTalking:\x20','queue','dialAnswer','UserId','VoiceQueueId','ListId','Action','status','catch','updateOriginated','decrementTalkink','[clearZombieChannel]','loggerError','[Dialer][checkChannel][pTalking][Preview]','[Dialer][checkChannel][Preview]','clearZombieChannels','size','getContactRecallMe','agentReadyId','then','length','getDiff','dialRecallMeTimeout','Agent','voicePause','run','logger2','[RecallMe]','disableContact','starttime','YYYY-MM-DD\x20HH:mm:ss','RecallInQueue','dialRecallInQueue','logCustomer','RecallFailedTimeout','createCustomerHistory','[HistoryRecallClose]','createCustomerFinal','IsNotLoggedIn','AGENTS_NOT_LOGGED','isTrunkReachable','TrunkBackup','TRUNK_IS_NOT_REACHABLE','ACTIVE','callProgressDetectingCustomer','countglobal','NoSuchNumber','buildObj','[callProgressDetectingCustomer][logNoSuch]','totalGlobal','dialGlobalMaxRetry','cloneAction','[callProgressDetectingCustomer][logNoSuchGlobal]','countnosuchnumberretry','rescheduleContact','scheduledAt','unlockAgent','activeContact','linkedid','ANSWER','responsetime','answertime','uniqueid','\x20Queue','custom:agentconnect','custom:agentConnectPreview','buildAcw','custom:agentcomplete','complete','total','[16]','[callProgressDetectingCustomer][logAnswer]','[callProgressDetectingCustomer][logAnswerGlobal]','crateCustomerReportQueue','talktime','[syncHangup][talking][decrement]','BUSY','countbusyretry','custom:agentbusy','busy','[callProgressDetectingCustomer][logBusy]','Global','[callProgressDetectingCustomer][logBusyGlobal]','dialBusyMaxRetry','NOANSWER','NoAnswer','custom:agentnoanswer','noanswer','[callProgressDetectingCustomer][logNoAnswerGlobal]','countnoanswerretry','dialNoAnswerMaxRetry','[callProgressDetectingCustomer][logNoAnswer]','dialNoAnswerRetryFrequency','countcongestionretry','[callProgressDetectingCustomer][logCongestion]','[callProgressDetectingCustomer][logCongestionGlobal]','dialCongestionMaxRetry','dialBusyRetryFrequency','CANCEL','AgentReject','custom:agentreject','agentreject','[callProgressDetectingCustomer][logAgentReject]','countagentrejectretry','dialAgentRejectMaxRetry','dialAgentRejectRetryFrequency'];(function(_0x2ec2bf,_0x46f780){var _0x35d977=function(_0x46160a){while(--_0x46160a){_0x2ec2bf['push'](_0x2ec2bf['shift']());}};_0x35d977(++_0x46f780);}(_0x1bbf,0x74));var _0xf1bb=function(_0x4e8286,_0x4eaeb4){_0x4e8286=_0x4e8286-0x0;var _0x44a440=_0x1bbf[_0x4e8286];return _0x44a440;};'use strict';var util=require(_0xf1bb('0x0'));var _=require(_0xf1bb('0x1'));var BPromise=require(_0xf1bb('0x2'));var uuid=require(_0xf1bb('0x3'));var moment=require(_0xf1bb('0x4'));var md5=require(_0xf1bb('0x5'));var Redis=require(_0xf1bb('0x6'));var config=require(_0xf1bb('0x7'));var logger=require(_0xf1bb('0x8'))(_0xf1bb('0x9'));var loggerAction=require(_0xf1bb('0x8'))(_0xf1bb('0xa'));var ami=require(_0xf1bb('0xb'));var rpcDb=require(_0xf1bb('0xc'));var Action=require(_0xf1bb('0xd'));var ut=require(_0xf1bb('0xe'));config[_0xf1bb('0xf')]=_[_0xf1bb('0x10')](config[_0xf1bb('0xf')],{'host':'localhost','port':0x18eb});var io=require('socket.io-emitter')(new Redis(config['redis']));var Sequence=function(){};Sequence[_0xf1bb('0x11')]['enqueue']=function(_0x117f01){this['tail']=this[_0xf1bb('0x12')]?this['tail'][_0xf1bb('0x13')](_0x117f01):_0x117f01();};function Preview(_0x4e451e){this[_0xf1bb('0x14')]=new Sequence();this[_0xf1bb('0x15')]=_0x4e451e[_0xf1bb('0x16')];this[_0xf1bb('0x17')]=_0x4e451e[_0xf1bb('0x17')];this['actions']={};this[_0xf1bb('0x18')]=_0x4e451e[_0xf1bb('0x18')];this[_0xf1bb('0x19')]=0x0;ami['on']('originateresponse',this['syncOriginateResponse']['bind'](this));ami['on']('hangup',this['syncHangup']['bind'](this));ami['on']('hanguprequest',this[_0xf1bb('0x1a')][_0xf1bb('0x1b')](this));ami['on']('dialend',this[_0xf1bb('0x1c')][_0xf1bb('0x1b')](this));ami['on'](_0xf1bb('0x1d'),this[_0xf1bb('0x1e')]['bind'](this));ami['on'](_0xf1bb('0x1f'),this[_0xf1bb('0x20')]['bind'](this));ami['on'](_0xf1bb('0x21'),this[_0xf1bb('0x22')][_0xf1bb('0x1b')](this));ami['on'](_0xf1bb('0x23'),this[_0xf1bb('0x24')]['bind'](this));this[_0xf1bb('0x25')](this[_0xf1bb('0x15')]);}function emit(_0x57c706,_0x485048,_0x489b35){io['to'](_0x57c706)[_0xf1bb('0x26')](_0x485048,_0x489b35);}function emitCampaignPreview(_0x1feeb4){if(_0x1feeb4[_0xf1bb('0x27')]===_0xf1bb('0x28')){var _0x55b54a={'id':_0x1feeb4['id'],'name':_0x1feeb4[_0xf1bb('0x29')],'strategy':_0x1feeb4[_0xf1bb('0x2a')],'answered':_0x1feeb4[_0xf1bb('0x2b')],'available':_0x1feeb4[_0xf1bb('0x2c')],'loggedIn':_0x1feeb4[_0xf1bb('0x2d')],'pTalking':_0x1feeb4[_0xf1bb('0x2e')],'sumBillable':_0x1feeb4[_0xf1bb('0x2f')],'sumDuration':_0x1feeb4[_0xf1bb('0x30')],'sumHoldTime':_0x1feeb4['sumHoldTime']||0x0,'talking':_0x1feeb4[_0xf1bb('0x31')],'total':_0x1feeb4['total'],'type':_0x1feeb4[_0xf1bb('0x27')],'unmanaged':_0x1feeb4['unmanaged'],'abandoned':_0x1feeb4[_0xf1bb('0x32')],'waiting':_0x1feeb4['waiting'],'loggedInDb':_0x1feeb4[_0xf1bb('0x33')],'dialActive':_0x1feeb4[_0xf1bb('0x34')],'dialMethod':_0x1feeb4[_0xf1bb('0x35')],'dialOriginateCallerIdName':_0x1feeb4[_0xf1bb('0x36')],'dialOriginateCallerIdNumber':_0x1feeb4[_0xf1bb('0x37')],'dialOriginateTimeout':_0x1feeb4['dialOriginateTimeout'],'dialPrefix':_0x1feeb4['dialPrefix'],'outboundAnswerAgiCallsDay':_0x1feeb4['outboundAnswerAgiCallsDay'],'outboundAnswerCallsDay':_0x1feeb4[_0xf1bb('0x38')],'outboundBlacklistCallsDay':_0x1feeb4[_0xf1bb('0x39')],'outboundBusyCallsDay':_0x1feeb4[_0xf1bb('0x3a')],'outboundCongestionCallsDay':_0x1feeb4[_0xf1bb('0x3b')],'outboundDropCallsDayACS':_0x1feeb4[_0xf1bb('0x3c')],'outboundDropCallsDayCallersExit':_0x1feeb4[_0xf1bb('0x3d')],'outboundDropCallsDayTimeout':_0x1feeb4[_0xf1bb('0x3e')],'outboundNoAnswerCallsDay':_0x1feeb4[_0xf1bb('0x3f')],'outboundNoSuchCallsDay':_0x1feeb4[_0xf1bb('0x40')],'outboundOriginateFailureCallsDay':_0x1feeb4[_0xf1bb('0x41')],'outboundReCallsDay':_0x1feeb4[_0xf1bb('0x42')],'outboundRejectCallsDay':_0x1feeb4[_0xf1bb('0x43')],'outboundUnknownCallsDay':_0x1feeb4[_0xf1bb('0x44')],'outboundAbandonedCallsDay':_0x1feeb4[_0xf1bb('0x45')],'predictiveIntervalAnsweredCalls':_0x1feeb4[_0xf1bb('0x46')],'predictiveIntervalAvgHoldtime':_0x1feeb4[_0xf1bb('0x47')],'predictiveIntervalAvgTalktime':_0x1feeb4[_0xf1bb('0x48')],'predictiveIntervalDroppedCallsCallersExit':_0x1feeb4[_0xf1bb('0x49')],'predictiveIntervalDroppedCallsTimeout':_0x1feeb4['predictiveIntervalDroppedCallsTimeout'],'predictiveIntervalErlangCalls':_0x1feeb4[_0xf1bb('0x4a')],'predictiveIntervalErlangCallsDroppedCalls':_0x1feeb4[_0xf1bb('0x4b')],'predictiveIntervalHitRate':_0x1feeb4[_0xf1bb('0x4c')],'predictiveIntervalMultiplicativeFactor':_0x1feeb4[_0xf1bb('0x4d')],'predictiveIntervalPauses':_0x1feeb4[_0xf1bb('0x4e')],'predictiveIntervalAvailable':_0x1feeb4[_0xf1bb('0x4f')],'predictiveIntervalTotalCalls':_0x1feeb4['predictiveIntervalTotalCalls'],'message':_0x1feeb4[_0xf1bb('0x50')],'originated':_0x1feeb4[_0xf1bb('0x51')],'erlangCalls':_0x1feeb4[_0xf1bb('0x52')],'erlangCallToSecond':_0x1feeb4[_0xf1bb('0x53')],'erlangAbandonmentRate':_0x1feeb4[_0xf1bb('0x54')],'erlangBusyFactor':_0x1feeb4[_0xf1bb('0x55')],'startPredictive':_0x1feeb4[_0xf1bb('0x56')],'startProgressive':_0x1feeb4['startProgressive']};if(_0x1feeb4[_0xf1bb('0x57')]){_0x55b54a[_0xf1bb('0x57')]={'id':_0x1feeb4[_0xf1bb('0x57')]['id'],'name':_0x1feeb4[_0xf1bb('0x57')][_0xf1bb('0x29')],'active':_0x1feeb4[_0xf1bb('0x57')]['active'],'callerid':_0x1feeb4[_0xf1bb('0x57')]['callerid']};}if(_0x1feeb4['Interval']){_0x55b54a['Interval']={'id':_0x1feeb4[_0xf1bb('0x58')]['id'],'name':_0x1feeb4[_0xf1bb('0x58')][_0xf1bb('0x29')]};}var _0x14c483=md5(JSON['stringify'](_0x55b54a));if(_0x1feeb4[_0xf1bb('0x5')]!==_0x14c483){_0x1feeb4[_0xf1bb('0x5')]=_0x14c483;emit(util[_0xf1bb('0x59')](_0xf1bb('0x5a'),_0x55b54a[_0xf1bb('0x29')]),_0xf1bb('0x5b'),_0x55b54a);}}}function emitVoiceQueueChannelRemove(_0x3bae93){logger['info'](_0xf1bb('0x5c'),JSON['stringify'](_0x3bae93));emit(util[_0xf1bb('0x59')]('voice:queue:%s',_0x3bae93['name']),_0xf1bb('0x5d'),_0x3bae93);io[_0xf1bb('0x26')](_0xf1bb('0x5e'),_0x3bae93);}function notSendMessagesQueue(_0x395638){if(_0x395638[_0xf1bb('0x5f')]){if(_0x395638[_0xf1bb('0x51')]===0x0&&_0x395638[_0xf1bb('0x2e')]===0x0){_0x395638[_0xf1bb('0x5f')]=![];_0x395638[_0xf1bb('0x2c')]=0x0;_0x395638[_0xf1bb('0x60')]=0x0;_0x395638[_0xf1bb('0x50')]=_0xf1bb('0x61');ut[_0xf1bb('0x62')](_0xf1bb('0x63'),_0x395638['name']+_0xf1bb('0x64'));}else{_0x395638[_0xf1bb('0x50')]=_0xf1bb('0x65');ut[_0xf1bb('0x62')](_0xf1bb('0x63'),_0x395638[_0xf1bb('0x29')]+_0xf1bb('0x66'));}emitCampaignPreview(_0x395638);}}Preview[_0xf1bb('0x11')][_0xf1bb('0x25')]=function(){var _0x3afa2c=this;setInterval(function(){_0x3afa2c[_0xf1bb('0x67')]();},0x7cf);};Preview[_0xf1bb('0x11')][_0xf1bb('0x67')]=function(){var _0x1ebeaa=this[_0xf1bb('0x15')];this[_0xf1bb('0x19')]+=0x1;for(var _0x9ff0d5 in _0x1ebeaa){if(_0x1ebeaa[_0xf1bb('0x68')](_0x9ff0d5)&&(_0x1ebeaa[_0x9ff0d5][_0xf1bb('0x35')]==='preview'||_0x1ebeaa[_0x9ff0d5][_0xf1bb('0x35')]===_0xf1bb('0x69'))&&_0x1ebeaa[_0x9ff0d5][_0xf1bb('0x27')]===_0xf1bb('0x28')){if(this[_0xf1bb('0x19')]>0x7){this[_0xf1bb('0x19')]=0x0;this['clearZombieChannels']();}}if(_0x1ebeaa[_0xf1bb('0x68')](_0x9ff0d5)&&_0x1ebeaa[_0x9ff0d5][_0xf1bb('0x35')]===_0xf1bb('0x9')&&_0x1ebeaa[_0x9ff0d5][_0xf1bb('0x27')]===_0xf1bb('0x28')){if(_0x1ebeaa[_0x9ff0d5][_0xf1bb('0x34')]){this[_0xf1bb('0x6a')](_0x1ebeaa[_0x9ff0d5]);this[_0xf1bb('0x6b')](_0x1ebeaa[_0x9ff0d5]);}else{notSendMessagesQueue(_0x1ebeaa[_0x9ff0d5]);}}}};Preview[_0xf1bb('0x11')][_0xf1bb('0x6c')]=function(_0x17149d){var _0x3bc103=this;this[_0xf1bb('0x14')][_0xf1bb('0x6d')](function(){if(!_[_0xf1bb('0x6e')](_0x3bc103[_0xf1bb('0x6f')][_0x17149d])){loggerAction[_0xf1bb('0x70')]('[clearZombieChannels][talking]',_0x17149d,_0xf1bb('0x71'),_0x3bc103[_0xf1bb('0x6f')][_0x17149d]['queue'],'originated:\x20',JSON[_0xf1bb('0x72')](_0x3bc103['campaignsPreview'][_0x3bc103[_0xf1bb('0x6f')][_0x17149d]['queue']]['originated']),_0xf1bb('0x73'),JSON[_0xf1bb('0x72')](_0x3bc103['campaignsPreview'][_0x3bc103[_0xf1bb('0x6f')][_0x17149d][_0xf1bb('0x74')]]['pTalking']),JSON[_0xf1bb('0x72')](_0x3bc103[_0xf1bb('0x6f')][_0x17149d][_0xf1bb('0x75')]),JSON[_0xf1bb('0x72')](_['pick'](_0x3bc103[_0xf1bb('0x6f')][_0x17149d],['contactId',_0xf1bb('0x76'),_0xf1bb('0x77'),_0xf1bb('0x78')])));return ami[_0xf1bb('0x79')]({'action':_0xf1bb('0x7a'),'channel':_0x3bc103[_0xf1bb('0x6f')][_0x17149d]['channel']})[_0xf1bb('0x7b')](function(_0x3b9e9e){if(_0x3b9e9e[_0xf1bb('0x50')]==='No\x20such\x20channel'){setTimeout(function(){if(_0x3bc103['actions'][_0x17149d]){ut[_0xf1bb('0x7c')](_0x3bc103[_0xf1bb('0x15')][_0x3bc103[_0xf1bb('0x6f')][_0x17149d][_0xf1bb('0x74')]],'[clearZombieChannel]');if(_0x3bc103['actions'][_0x17149d][_0xf1bb('0x75')]===!![]){ut[_0xf1bb('0x7d')](_0x3bc103[_0xf1bb('0x15')][_0x3bc103[_0xf1bb('0x6f')][_0x17149d]['queue']],_0xf1bb('0x7e'));ut[_0xf1bb('0x7f')](_0xf1bb('0x80')+_0x17149d,_0x3bc103[_0xf1bb('0x6f')][_0x17149d]['queue']);}ut[_0xf1bb('0x7f')](_0xf1bb('0x81')+_0x17149d,_0x3bc103[_0xf1bb('0x6f')][_0x17149d][_0xf1bb('0x74')]);delete _0x3bc103[_0xf1bb('0x6f')][_0x17149d];}},0x2328);}});}});};Preview[_0xf1bb('0x11')][_0xf1bb('0x82')]=function(){var _0x45f759=this;loggerAction[_0xf1bb('0x70')]('[action]',_[_0xf1bb('0x83')](this[_0xf1bb('0x6f')]));for(var _0x58f93b in this[_0xf1bb('0x6f')]){if(_0x45f759[_0xf1bb('0x6f')][_0xf1bb('0x68')](_0x58f93b)){_0x45f759[_0xf1bb('0x6c')](_0x58f93b);}}};Preview['prototype']['recallMe']=function(_0x1c631f){var _0x221fde=this;rpcDb[_0xf1bb('0x84')](_0x1c631f['id'],ut[_0xf1bb('0x85')](this[_0xf1bb('0x18')]))[_0xf1bb('0x86')](function(_0x20741c){if(!_['isNil'](_0x20741c)){for(var _0x1d85bb=0x0;_0x1d85bb<_0x20741c[_0xf1bb('0x87')];_0x1d85bb+=0x1){if(ut[_0xf1bb('0x88')](_0x20741c[_0x1d85bb]['scheduledat'])<_0x1c631f[_0xf1bb('0x89')]*0x3c){if(_0x20741c[_0x1d85bb][_0xf1bb('0x8a')]&&!_0x20741c[_0x1d85bb][_0xf1bb('0x8a')][_0xf1bb('0x8b')]){_0x221fde[_0xf1bb('0x8c')](_0x20741c[_0x1d85bb]['id'])['then'](ut[_0xf1bb('0x8d')](_0xf1bb('0x8e')))[_0xf1bb('0x7b')](ut[_0xf1bb('0x8d')]('[RecallMe]'));}else{rpcDb[_0xf1bb('0x8f')](_0x20741c[_0x1d85bb]['id']);}}else{var _0x4e9906=new Action(_0x20741c[_0x1d85bb],_0x1c631f);_0x4e9906[_0xf1bb('0x90')]=moment()[_0xf1bb('0x59')](_0xf1bb('0x91'));_0x1c631f[_0xf1bb('0x42')]+=0x1;ut['logCustomer'](_0x4e9906,0x17,_0xf1bb('0x92'));if(_0x1c631f[_0xf1bb('0x93')]){rpcDb['rescheduleContactInQueue'](ut['createBody'](_0x20741c[_0x1d85bb]));rpcDb['createCustomerHistory'](_0x4e9906,'[HistoryDialRecallInQueue][historyCatch]');}else{ut[_0xf1bb('0x94')](_0x4e9906,0x16,_0xf1bb('0x95'));rpcDb[_0xf1bb('0x96')](_0x4e9906,_0xf1bb('0x97'));rpcDb[_0xf1bb('0x98')](_0x4e9906,_0xf1bb('0x97'));}}}}})[_0xf1bb('0x7b')](ut[_0xf1bb('0x8d')]('[getContactRecallMe]'));};Preview[_0xf1bb('0x11')][_0xf1bb('0x6a')]=function(_0x87b345){_0x87b345['sendMessageOneNotActive']=!![];if(ut[_0xf1bb('0x99')](_0x87b345[_0xf1bb('0x2d')])){_0x87b345[_0xf1bb('0x50')]=_0xf1bb('0x9a');}else if(!ut['isActive'](_0x87b345[_0xf1bb('0x34')])){_0x87b345[_0xf1bb('0x50')]=_0xf1bb('0x61');}else if(!this['isTrunkReachable'](_0x87b345[_0xf1bb('0x57')])){if(!this[_0xf1bb('0x9b')](_0x87b345[_0xf1bb('0x9c')])){_0x87b345[_0xf1bb('0x50')]=_0xf1bb('0x9d');}else{_0x87b345['message']=_0xf1bb('0x9e');}}else{_0x87b345['message']=_0xf1bb('0x9e');}emitCampaignPreview(_0x87b345);};Preview[_0xf1bb('0x11')][_0xf1bb('0x9f')]=function(_0x79cfd2,_0x5abaef,_0x4f4bf3){var _0x484977=this;var _0x11ce67=this['actions'][_0x5abaef];var _0x744083=this['campaignsPreview'][_0x11ce67[_0xf1bb('0x74')]];var _0x2bb83e;if(_0x744083){switch(_0x4f4bf3){case'1':_0x744083['outboundNoSuchCallsDay']+=0x1;_0x11ce67['countnosuchnumberretry']+=0x1;_0x11ce67[_0xf1bb('0xa0')]=ut['totalGlobal'](_0x11ce67);ut['logCustomer'](_0x11ce67,0x0,_0xf1bb('0xa1'));ami[_0xf1bb('0x26')]('custom:agentnosuchnumber',ut[_0xf1bb('0xa2')](_0x11ce67,'nosuchnumber'));rpcDb[_0xf1bb('0x96')](_0x11ce67,_0xf1bb('0xa3'));if(ut[_0xf1bb('0xa4')](_0x11ce67)>=_0x744083[_0xf1bb('0xa5')]){_0x2bb83e=ut[_0xf1bb('0xa6')](_0x11ce67,0xf,'Global');rpcDb[_0xf1bb('0x98')](_0x2bb83e,_0xf1bb('0xa7'));}else{if(_0x11ce67[_0xf1bb('0xa8')]>=_0x744083['dialNoSuchNumberMaxRetry']){rpcDb[_0xf1bb('0x98')](_0x11ce67,_0xf1bb('0xa7'));}else{rpcDb[_0xf1bb('0xa9')](ut[_0xf1bb('0xaa')](_0x11ce67,'countnosuchnumberretry',_0x744083['dialNoSuchNumberRetryFrequency']),_0x11ce67[_0xf1bb('0xab')],_0x11ce67[_0xf1bb('0xac')]);}}delete this['actions'][_0x79cfd2[_0xf1bb('0xad')]];break;case _0xf1bb('0xae'):var _0x3b7040=moment()['format'](_0xf1bb('0x91'));_0x11ce67[_0xf1bb('0xaf')]=_0x3b7040;_0x11ce67[_0xf1bb('0xb0')]=_0x3b7040;_0x11ce67[_0xf1bb('0x75')]=!![];_0x744083['pTalking']+=0x1;logger[_0xf1bb('0x70')]('[syncHangup][talking][increment]',_0x11ce67[_0xf1bb('0xb1')],_0xf1bb('0xb2'),_0x744083[_0xf1bb('0x29')],_0xf1bb('0x73'),_0x744083[_0xf1bb('0x2e')]);ami[_0xf1bb('0x26')](_0xf1bb('0xb3'),ut[_0xf1bb('0xa2')](_0x11ce67,'connect',this[_0xf1bb('0x15')][_0x11ce67[_0xf1bb('0x74')]]));if(_0x744083['acw']){ami[_0xf1bb('0x26')](_0xf1bb('0xb4'),ut[_0xf1bb('0xb5')](_0x11ce67));}break;case'16':ami[_0xf1bb('0x26')](_0xf1bb('0xb6'),ut[_0xf1bb('0xa2')](_0x11ce67,'complete',this[_0xf1bb('0x15')][_0x11ce67[_0xf1bb('0x74')]]));emitVoiceQueueChannelRemove(ut[_0xf1bb('0xa2')](_0x11ce67,_0xf1bb('0xb7')));_0x744083[_0xf1bb('0x38')]+=0x1;_0x744083[_0xf1bb('0xb8')]+=0x1;_0x744083['answered']+=0x1;ut[_0xf1bb('0x7d')](_0x744083,_0xf1bb('0xb9'));_0x11ce67[_0xf1bb('0xa0')]=ut[_0xf1bb('0xa4')](_0x11ce67);ut[_0xf1bb('0x94')](_0x11ce67,0x4,'Answer');rpcDb[_0xf1bb('0x96')](_0x11ce67,_0xf1bb('0xba'));rpcDb['createCustomerFinal'](_0x11ce67,_0xf1bb('0xbb'));rpcDb[_0xf1bb('0xbc')](_0x11ce67);_0x744083[_0xf1bb('0x30')]+=_0x11ce67[_0xf1bb('0xbd')];_0x744083[_0xf1bb('0x2f')]+=_0x11ce67['talktime'];logger['info'](_0xf1bb('0xbe'),_0x11ce67['uniqueid'],'\x20Queue',_0x744083['name'],_0xf1bb('0x73'),_0x744083[_0xf1bb('0x2e')]);delete this[_0xf1bb('0x6f')][_0x79cfd2[_0xf1bb('0xad')]];break;case _0xf1bb('0xbf'):_0x744083[_0xf1bb('0x3a')]+=0x1;_0x11ce67[_0xf1bb('0xc0')]+=0x1;_0x11ce67[_0xf1bb('0xa0')]=ut[_0xf1bb('0xa4')](_0x11ce67);ut[_0xf1bb('0x94')](_0x11ce67,0x5,'Busy');ami[_0xf1bb('0x26')](_0xf1bb('0xc1'),ut[_0xf1bb('0xa2')](_0x11ce67,_0xf1bb('0xc2')));rpcDb[_0xf1bb('0x96')](_0x11ce67,_0xf1bb('0xc3'));if(ut['totalGlobal'](_0x11ce67)>=_0x744083[_0xf1bb('0xa5')]){_0x2bb83e=ut[_0xf1bb('0xa6')](_0x11ce67,0xf,_0xf1bb('0xc4'));rpcDb[_0xf1bb('0x98')](_0x2bb83e,_0xf1bb('0xc5'));}else{if(_0x11ce67[_0xf1bb('0xc0')]>=_0x744083[_0xf1bb('0xc6')]){rpcDb[_0xf1bb('0x98')](_0x11ce67,'[callProgressDetectingCustomer][logBusy]');}else{rpcDb['rescheduleContact'](ut[_0xf1bb('0xaa')](_0x11ce67,_0xf1bb('0xc0'),_0x744083['dialBusyRetryFrequency']),_0x11ce67[_0xf1bb('0xab')],_0x11ce67[_0xf1bb('0xac')]);}}break;case _0xf1bb('0xc7'):_0x744083[_0xf1bb('0x3f')]+=0x1;_0x11ce67['countnoanswerretry']+=0x1;_0x11ce67['countglobal']=ut[_0xf1bb('0xa4')](_0x11ce67);ut[_0xf1bb('0x94')](_0x11ce67,0x3,_0xf1bb('0xc8'));ami['emit'](_0xf1bb('0xc9'),ut[_0xf1bb('0xa2')](_0x11ce67,_0xf1bb('0xca')));rpcDb['createCustomerHistory'](_0x11ce67,'[callProgressDetectingCustomer][logNoAnswer]');if(ut[_0xf1bb('0xa4')](_0x11ce67)>=_0x744083[_0xf1bb('0xa5')]){_0x2bb83e=ut[_0xf1bb('0xa6')](_0x11ce67,0xf,'Global');rpcDb[_0xf1bb('0x98')](_0x2bb83e,_0xf1bb('0xcb'));}else{if(_0x11ce67[_0xf1bb('0xcc')]>=_0x744083[_0xf1bb('0xcd')]){rpcDb[_0xf1bb('0x98')](_0x11ce67,_0xf1bb('0xce'));}else{rpcDb[_0xf1bb('0xa9')](ut[_0xf1bb('0xaa')](_0x11ce67,_0xf1bb('0xcc'),_0x744083[_0xf1bb('0xcf')]),_0x11ce67[_0xf1bb('0xab')],_0x11ce67[_0xf1bb('0xac')]);}}break;case'CONGESTION':_0x744083[_0xf1bb('0x3b')]+=0x1;_0x11ce67[_0xf1bb('0xd0')]+=0x1;_0x11ce67[_0xf1bb('0xa0')]=ut['totalGlobal'](_0x11ce67);ut[_0xf1bb('0x94')](_0x11ce67,0x8,'Congestion');ami['emit']('custom:agentcongestion',ut['buildObj'](_0x11ce67,'congestion'));rpcDb['createCustomerHistory'](_0x11ce67,_0xf1bb('0xd1'));if(ut[_0xf1bb('0xa4')](_0x11ce67)>=_0x744083['dialGlobalMaxRetry']){_0x2bb83e=ut[_0xf1bb('0xa6')](_0x11ce67,0xf,_0xf1bb('0xc4'));rpcDb[_0xf1bb('0x98')](_0x2bb83e,_0xf1bb('0xd2'));}else{if(_0x11ce67['countcongestionretry']>=_0x744083[_0xf1bb('0xd3')]){rpcDb[_0xf1bb('0x98')](_0x11ce67,'[callProgressDetectingCustomer][logCongestion]');}else{rpcDb['rescheduleContact'](ut[_0xf1bb('0xaa')](_0x11ce67,'countcongestionretry',_0x744083[_0xf1bb('0xd4')]),_0x11ce67[_0xf1bb('0xab')],_0x11ce67['activeContact']);}}break;case _0xf1bb('0xd5'):_0x744083[_0xf1bb('0x43')]+=0x1;_0x11ce67['countagentrejectretry']+=0x1;_0x11ce67[_0xf1bb('0xa0')]=ut[_0xf1bb('0xa4')](_0x11ce67);ut[_0xf1bb('0x94')](_0x11ce67,0x14,_0xf1bb('0xd6'));ami[_0xf1bb('0x26')](_0xf1bb('0xd7'),ut[_0xf1bb('0xa2')](_0x11ce67,_0xf1bb('0xd8')));rpcDb['createCustomerHistory'](_0x11ce67,'[syncHangupRequest][logAgentReject]');if(ut[_0xf1bb('0xa4')](_0x11ce67)>=_0x744083[_0xf1bb('0xa5')]){_0x2bb83e=ut[_0xf1bb('0xa6')](_0x11ce67,0x14,_0xf1bb('0xd6'));rpcDb[_0xf1bb('0x98')](_0x2bb83e,_0xf1bb('0xd9'));}else{if(_0x11ce67[_0xf1bb('0xda')]>=_0x744083[_0xf1bb('0xdb')]){rpcDb['createCustomerFinal'](_0x11ce67,_0xf1bb('0xd9'));}else{rpcDb[_0xf1bb('0xa9')](ut[_0xf1bb('0xaa')](_0x11ce67,_0xf1bb('0xda'),_0x744083[_0xf1bb('0xdc')]),_0x11ce67[_0xf1bb('0xab')],_0x11ce67[_0xf1bb('0xac')]);}}break;case'ABANDONED':_0x744083['outboundAbandonedCallsDay']+=0x1;_0x11ce67[_0xf1bb('0xdd')]+=0x1;_0x11ce67[_0xf1bb('0xa0')]=ut[_0xf1bb('0xa4')](_0x11ce67);ut[_0xf1bb('0x94')](_0x11ce67,0xb,_0xf1bb('0xde'));rpcDb['createCustomerHistory'](_0x11ce67,_0xf1bb('0xdf'));if(ut[_0xf1bb('0xa4')](_0x11ce67)>=_0x744083[_0xf1bb('0xa5')]){_0x2bb83e=ut[_0xf1bb('0xa6')](_0x11ce67,0xf,_0xf1bb('0xc4'));rpcDb[_0xf1bb('0x98')](_0x2bb83e,_0xf1bb('0xdf'));}else{if(_0x11ce67['countabandonedetry']>=_0x744083[_0xf1bb('0xe0')]){rpcDb[_0xf1bb('0x98')](_0x11ce67,'[callProgressDetectingCustomer][logAbandoned]');}else{rpcDb['rescheduleContact'](ut[_0xf1bb('0xaa')](_0x11ce67,_0xf1bb('0xdd'),_0x744083['dialAbandonedRetryFrequency']),_0x11ce67['unlockAgent'],_0x11ce67['activeContact']);}}break;default:if(_0x11ce67[_0xf1bb('0x75')]){ut['decrementTalkink'](_0x744083,_0xf1bb('0xe1'));ut[_0xf1bb('0x7f')](_0xf1bb('0xe2')+_0x744083['name'],_0x79cfd2);}_0x744083[_0xf1bb('0x44')]+=0x1;_0x11ce67[_0xf1bb('0xa0')]=ut[_0xf1bb('0xa4')](_0x11ce67);ut[_0xf1bb('0x94')](_0x11ce67,0xc,_0x79cfd2[_0xf1bb('0xe3')]||_0x79cfd2[_0xf1bb('0xe4')]);rpcDb['createCustomerHistory'](_0x11ce67,_0xf1bb('0xe5'));if(ut[_0xf1bb('0xa4')](_0x11ce67)>=_0x744083[_0xf1bb('0xa5')]){_0x2bb83e=ut[_0xf1bb('0xa6')](_0x11ce67,0xf,_0xf1bb('0xc4'));rpcDb[_0xf1bb('0x98')](_0x2bb83e,_0xf1bb('0xe6'));}else{rpcDb[_0xf1bb('0x98')](_0x11ce67,_0xf1bb('0xe6'));}delete this['actions'][_0x79cfd2[_0xf1bb('0xad')]];}if(!(_0x11ce67[_0xf1bb('0x75')]&&_0x4f4bf3==='16')){ut[_0xf1bb('0x7c')](_0x744083,_0xf1bb('0xe7'));logger[_0xf1bb('0x70')](_0xf1bb('0xe8'),_0x11ce67['uniqueid'],'\x20Queue',_0x744083['name'],_0xf1bb('0xe9'),_0x744083['originated']);}if(_0x4f4bf3!==_0xf1bb('0xae')){delete this[_0xf1bb('0x6f')][_0x79cfd2[_0xf1bb('0xad')]];delete this[_0xf1bb('0x6f')][_0x79cfd2[_0xf1bb('0xea')]];}}};Preview[_0xf1bb('0x11')][_0xf1bb('0xeb')]=function(_0x1b8539,_0x5651e8,_0x53549a){if(_['isUndefined'](_0x5651e8)&&_0xf1bb('0xec')!==typeof _0x5651e8){return;}if(_['isUndefined'](_0x53549a)&&_0xf1bb('0xec')!==typeof _0x53549a){return;}switch(_0x53549a[_0xf1bb('0xed')]){case'0':ut[_0xf1bb('0xee')](_0x1b8539,0x0,_0xf1bb('0xa1'));rpcDb[_0xf1bb('0xef')](_0x1b8539,_0xf1bb('0xf0'));break;case'3':ut['logAgent'](_0x1b8539,0x3,'NoAnswer');rpcDb[_0xf1bb('0xef')](_0x1b8539,_0xf1bb('0xf1'));break;case'5':ut[_0xf1bb('0xee')](_0x1b8539,0x5,_0xf1bb('0xf2'));rpcDb[_0xf1bb('0xef')](_0x1b8539,_0xf1bb('0xf3'));break;case'8':ut[_0xf1bb('0xee')](_0x1b8539,0x8,_0xf1bb('0xf4'));rpcDb[_0xf1bb('0xef')](_0x1b8539,_0xf1bb('0xf5'));break;case'22':ut[_0xf1bb('0xee')](_0x1b8539,0x16,_0xf1bb('0xf6'));rpcDb['createAgentHistory'](_0x1b8539,_0xf1bb('0xf7'));break;default:ut[_0xf1bb('0xee')](_0x1b8539,0xc,_0x53549a[_0xf1bb('0xed')]);rpcDb[_0xf1bb('0xef')](_0x1b8539,_0xf1bb('0xf5'));}ut['updateOriginated'](_0x5651e8,_0xf1bb('0xf8'));logger[_0xf1bb('0x70')](_0xf1bb('0xf9'),_0x1b8539[_0xf1bb('0xb1')],_0xf1bb('0xb2'),_0x5651e8[_0xf1bb('0x29')],_0xf1bb('0xe9'),_0x5651e8[_0xf1bb('0x51')]);delete this[_0xf1bb('0x6f')][_0x1b8539[_0xf1bb('0xb1')]];};Preview[_0xf1bb('0x11')][_0xf1bb('0xfa')]=function(_0x13641b,_0x5039b5,_0x1dc460,_0x1119d0,_0xe65da5){var _0x23f40a=this;return new BPromise(function(_0x30a0af,_0x3256bf){if(_['isNil'](_0x5039b5)||_[_0xf1bb('0x6e')](_0x5039b5[_0xf1bb('0xfb')])||_[_0xf1bb('0x6e')](_0x5039b5[_0xf1bb('0xfb')]['phone'])||_['isNil'](_0x5039b5['VoiceQueueId'])){_0x3256bf(ut[_0xf1bb('0x50')](_0xf1bb('0xfc'),_0x1119d0,_0xe65da5));return;}var _0x4056f4=uuid['v4']();var _0x272ad8=_0x23f40a[_0xf1bb('0x15')][_0x5039b5[_0xf1bb('0x71')]['name']];var _0x3bc294=_0x1dc460?_0x23f40a[_0xf1bb('0x18')][_0x1dc460]['id']:undefined;_0x23f40a[_0xf1bb('0x6f')][_0x4056f4]=new Action(_0x5039b5,_0x272ad8,_0x4056f4,_0x1dc460,_0x3bc294);var _0x446f97=_0x23f40a[_0xf1bb('0x6f')][_0x4056f4];_0x446f97['unlockAgent']=_0x1119d0;_0x446f97[_0xf1bb('0xac')]=_0xe65da5;_0x446f97[_0xf1bb('0xfd')]=_0x1dc460;if(_[_0xf1bb('0xfe')](_0x13641b)){_0x23f40a[_0xf1bb('0xff')](_0x446f97,_0x272ad8,_0x5039b5,_0x1dc460)[_0xf1bb('0x86')](function(_0x4ce8eb){logger[_0xf1bb('0x70')](_0xf1bb('0x100'),_0xf1bb('0x101')+_0x446f97['queue']+'\x20IdHopper:\x20'+_0x446f97[_0xf1bb('0x102')],JSON[_0xf1bb('0x72')](_0x4ce8eb));ami['emit']('custom:agentcalled',ut[_0xf1bb('0xa2')](_0x446f97,_0xf1bb('0x103'),_0x23f40a['campaignsPreview'][_0x446f97[_0xf1bb('0x74')]]));_0x30a0af(ut[_0xf1bb('0x50')](_0xf1bb('0x104')));})[_0xf1bb('0x7b')](function(_0x405e51){ut[_0xf1bb('0x62')]('[Preview][execCall][failure]',_0x405e51);_0x3256bf(ut[_0xf1bb('0x50')](_0xf1bb('0x105'),_0x1119d0,_0xe65da5));});}else{_0x272ad8[_0xf1bb('0x39')]+=0x1;ut['logBlacklist'](_0x446f97);rpcDb['createHistory'](_0x446f97,_0xf1bb('0x106'));delete _0x23f40a[_0xf1bb('0x6f')][_0x4056f4];_0x3256bf(ut[_0xf1bb('0x50')]('Contact\x20in\x20black\x20List',_0x1119d0,_0xe65da5));}});};Preview[_0xf1bb('0x11')][_0xf1bb('0x9b')]=function(_0xc796a9){return!_[_0xf1bb('0x6e')](_0xc796a9)&&!_['isNil'](_0xc796a9[_0xf1bb('0x29')])&&!_[_0xf1bb('0x6e')](_0xc796a9[_0xf1bb('0x107')])&&_0xc796a9[_0xf1bb('0x107')]&&!_[_0xf1bb('0x6e')](this['trunks'][util['format'](_0xf1bb('0x108'),_0xc796a9[_0xf1bb('0x29')])])&&!_['isNil'](this[_0xf1bb('0x17')][util[_0xf1bb('0x59')](_0xf1bb('0x108'),_0xc796a9[_0xf1bb('0x29')])][_0xf1bb('0x7a')])&&(this[_0xf1bb('0x17')][util['format'](_0xf1bb('0x108'),_0xc796a9[_0xf1bb('0x29')])]['status']===_0xf1bb('0x109')||this[_0xf1bb('0x17')][util[_0xf1bb('0x59')](_0xf1bb('0x108'),_0xc796a9[_0xf1bb('0x29')])][_0xf1bb('0x7a')]===_0xf1bb('0x10a'));};Preview['prototype']['run']=function(_0x55ecc5,_0x15c2c7){var _0x4acf53=this;return new BPromise(function(_0x252cab,_0x13cc7e){_0x4acf53['execRun'](_0x55ecc5,_0x15c2c7)[_0xf1bb('0x86')](function(_0x583c72){_0x252cab(_[_0xf1bb('0x10b')](_0x583c72,[_0xf1bb('0x50')]));})[_0xf1bb('0x7b')](function(_0x19a340){if(_0x19a340['unlock']){rpcDb['unlockContact'](_0x55ecc5);}if(_0x19a340[_0xf1bb('0x107')]){rpcDb[_0xf1bb('0x8f')](_0x55ecc5);}_0x13cc7e(_['pick'](_0x19a340,[_0xf1bb('0x50')]));});});};Preview[_0xf1bb('0x11')][_0xf1bb('0x10c')]=function(_0x1f4ba2,_0x2132a5){var _0x131191=this;return new BPromise(function(_0x233dac,_0x55e574){var _0x1a9d8b,_0x2af4af;rpcDb['getContactPreview'](_0x1f4ba2)['then'](function(_0x3ad071){if(!_[_0xf1bb('0x6e')](_0x3ad071[0x0])){_0x2af4af=_0x3ad071[0x0][_0xf1bb('0x10d')]?![]:!![];_0x1a9d8b=_0x3ad071[0x0][_0xf1bb('0x10d')]?!![]:![];_0x1a9d8b=_0x2132a5?!![]:_0x1a9d8b;}var _0x1c26f4=_0x131191[_0xf1bb('0x10e')](_0x3ad071);if(_0x1c26f4['isValid']){rpcDb[_0xf1bb('0x10f')](_['pick'](_0x3ad071[0x0],[_0xf1bb('0x77'),_0xf1bb('0x110')]))[_0xf1bb('0x86')](function(_0x521e8b){_0x131191['checkInBlack'](_0x521e8b,_0x3ad071[0x0],_0x2132a5,_0x2af4af,_0x1a9d8b)['then'](function(_0x236db1){_0x233dac(_0x236db1);})[_0xf1bb('0x7b')](function(_0x4ec065){_0x55e574(_0x4ec065);});})[_0xf1bb('0x7b')](function(_0xecc31e){ut[_0xf1bb('0x62')]('[Preview][checkIsBlackList]',_0xecc31e);_0x55e574(ut[_0xf1bb('0x50')](_0xf1bb('0x111'),_0x2af4af,_0x1a9d8b));});}else{_0x55e574(ut[_0xf1bb('0x50')](_0x1c26f4[_0xf1bb('0x50')],_0x2af4af,_0x1a9d8b));}})['catch'](function(_0x4cfe90){ut['logger'](_0xf1bb('0x112'),_0x4cfe90);_0x55e574(ut[_0xf1bb('0x50')]('Call\x20unsuccessful',![],!![]));});});};Preview[_0xf1bb('0x11')][_0xf1bb('0x10e')]=function(_0x557f05){if(_['isNil'](_0x557f05)||_[_0xf1bb('0xfe')](_0x557f05)||!_['isNil'](_0x557f05[0x0][_0xf1bb('0x8a')])&&_[_0xf1bb('0x6e')](_0x557f05[0x0][_0xf1bb('0x8a')][_0xf1bb('0x29')])){ut[_0xf1bb('0x62')](_0xf1bb('0x113'),_0x557f05);return{'isValid':![],'message':_0xf1bb('0x114')};}var _0x9cf9f2=this[_0xf1bb('0x15')][_0x557f05[0x0]['Queue'][_0xf1bb('0x29')]];_0x9cf9f2[_0xf1bb('0x50')]=_0xf1bb('0x9e');if(_[_0xf1bb('0x6e')](_0x9cf9f2)){ut[_0xf1bb('0x62')](_0xf1bb('0x115'),_0x9cf9f2);return{'isValid':![],'message':_0xf1bb('0x116')};}if(!this[_0xf1bb('0x9b')](_0x9cf9f2[_0xf1bb('0x57')])){ut['logger'](_0xf1bb('0x117'),_0xf1bb('0x118')+_0x9cf9f2[_0xf1bb('0x29')]+_0xf1bb('0x119'));if(!this[_0xf1bb('0x9b')](_0x9cf9f2[_0xf1bb('0x9c')])){ut['logger'](_0xf1bb('0x117'),_0x9cf9f2['name']+_0xf1bb('0x11a'));return{'isValid':![],'message':_0xf1bb('0x11b')};}}if(!ut[_0xf1bb('0x11c')](_0x9cf9f2['dialActive'])){ut['logger']('[Preview][validateContact][Campaign\x20Active]',_0x9cf9f2['name']+_0xf1bb('0x11d'));return{'isValid':![],'message':_0xf1bb('0x118')+_0x9cf9f2[_0xf1bb('0x29')]+'\x20Not\x20Active'};}return{'isValid':!![],'message':_0xf1bb('0x11e')};};Preview[_0xf1bb('0x11')]['execCall']=function(_0x220232,_0x85e914,_0x4ad293,_0x12e041){var _0x54708d=this;return new BPromise(function(_0x2bb56b,_0xa2d389){var _0x3643aa=_0x220232[_0xf1bb('0xb1')];var _0x1a037b=_0x54708d[_0xf1bb('0x9b')](_0x85e914[_0xf1bb('0x57')])?util['format'](_0xf1bb('0x11f'),_0x85e914[_0xf1bb('0x57')]['name'],_[_0xf1bb('0x6e')](_0x85e914[_0xf1bb('0x120')])?'':_0x85e914[_0xf1bb('0x120')][_0xf1bb('0x121')]()||'',_0x85e914[_0xf1bb('0x122')]>0x0?_0x4ad293[_0xf1bb('0xfb')][_0xf1bb('0x123')]['substring'](_0x85e914[_0xf1bb('0x122')]):_0x4ad293['Contact'][_0xf1bb('0x123')]):util[_0xf1bb('0x59')](_0xf1bb('0x11f'),_['isNil'](_0x85e914[_0xf1bb('0x9c')])?_0x85e914['Trunk']['name']:_0x85e914[_0xf1bb('0x9c')][_0xf1bb('0x29')],_[_0xf1bb('0x6e')](_0x85e914[_0xf1bb('0x120')])?'':_0x85e914[_0xf1bb('0x120')][_0xf1bb('0x121')]()||'',_0x85e914[_0xf1bb('0x122')]>0x0?_0x4ad293[_0xf1bb('0xfb')]['phone'][_0xf1bb('0x124')](_0x85e914['dialCutDigit']):_0x4ad293[_0xf1bb('0xfb')][_0xf1bb('0x123')]);var _0x4a5106=_0x54708d['isTrunkReachable'](_0x85e914['Trunk'])?ut[_0xf1bb('0x125')](_0x85e914[_0xf1bb('0x57')][_0xf1bb('0x126')],_0x85e914[_0xf1bb('0x36')],_0x85e914['dialRandomLastDigitCallerIdNumber']>0x0?ut[_0xf1bb('0x127')](_0x85e914[_0xf1bb('0x37')],_0x85e914[_0xf1bb('0x128')]):_0x85e914['dialOriginateCallerIdNumber']):ut[_0xf1bb('0x125')](_[_0xf1bb('0x6e')](_0x85e914[_0xf1bb('0x9c')])?_0x85e914[_0xf1bb('0x57')]['callerid']:_0x85e914[_0xf1bb('0x9c')][_0xf1bb('0x126')],_0x85e914[_0xf1bb('0x36')],_0x85e914[_0xf1bb('0x128')]>0x0?ut['getCallerIdRandom'](_0x85e914[_0xf1bb('0x37')],_0x85e914['dialRandomLastDigitCallerIdNumber']):_0x85e914['dialOriginateCallerIdNumber']);if(_0x4a5106){_0x220232[_0xf1bb('0x129')]=ut[_0xf1bb('0x12a')](_0x4a5106);_0x220232[_0xf1bb('0x12b')]=ut[_0xf1bb('0x12c')](_0x4a5106);}var _0x3482e1=ut[_0xf1bb('0x12d')](_0x85e914,_0x4ad293,_0x1a037b,_0x4a5106,_0x3643aa,_0x220232);_[_0xf1bb('0x12e')](_0x220232,ut[_0xf1bb('0x12f')](_0x3482e1));_0x220232['starttime']=moment()[_0xf1bb('0x59')](_0xf1bb('0x91'));ami[_0xf1bb('0x79')](ut[_0xf1bb('0x130')](_0x220232,_0x85e914,_0x3482e1,_0x220232[_0xf1bb('0xac')],_0x12e041))[_0xf1bb('0x86')](function(_0x55d60a){_0x85e914['originated']+=0x1;logger[_0xf1bb('0x70')](_0xf1bb('0x131'),_0x3643aa,'\x20Queue',_0x85e914[_0xf1bb('0x29')],_0xf1bb('0xe9'),_0x85e914['originated']);_0x2bb56b(_0x55d60a);})[_0xf1bb('0x7b')](function(_0x9891d9){ut[_0xf1bb('0xee')](_0x220232,0xe,'OriginateError');rpcDb[_0xf1bb('0xef')](_0x220232,_0xf1bb('0x132'));_0xa2d389(_0x9891d9);});});};Preview[_0xf1bb('0x11')][_0xf1bb('0x1e')]=function(_0x2a52a0){if(this['actions'][_0x2a52a0['linkedid']]){this[_0xf1bb('0x6f')][_0x2a52a0['linkedid']][_0xf1bb('0x133')]=_0x2a52a0[_0xf1bb('0x133')];}};Preview['prototype'][_0xf1bb('0x134')]=function(_0x8fabc7){var _0x3d5272=this;var _0x46218a=this[_0xf1bb('0x6f')][_0x8fabc7[_0xf1bb('0x135')]];if(_0x46218a){if(_0x46218a[_0xf1bb('0xfd')]&&this['agents'][_0x46218a['lookAgent']]){ut[_0xf1bb('0x136')](_0x46218a,this[_0xf1bb('0x18')][_0x46218a['lookAgent']]['name'],this[_0xf1bb('0x18')][_0x46218a[_0xf1bb('0xfd')]]['id']);}var _0x7e14f3=_['clone'](_0x46218a);_0x7e14f3[_0xf1bb('0xaf')]=moment()['format'](_0xf1bb('0x91'));var _0x132008=_0x3d5272[_0xf1bb('0x15')][_0x46218a[_0xf1bb('0x74')]];if(ut[_0xf1bb('0x137')](_0x8fabc7[_0xf1bb('0x138')])){if(_0x46218a['unlockAgent']){rpcDb[_0xf1bb('0x139')](_0x46218a['idContact']);}if(_0x46218a[_0xf1bb('0xac')]){rpcDb[_0xf1bb('0x8f')](_0x46218a[_0xf1bb('0x102')]);}ami['emit'](_0xf1bb('0x13a'),ut['buildObj'](_0x46218a,_0xf1bb('0x13b'),this[_0xf1bb('0x15')][_0x46218a[_0xf1bb('0x74')]]));this['callProgressDetectingAgent'](_0x7e14f3,_0x132008,_0x8fabc7);}else{_0x46218a['starttime']=moment()['format'](_0xf1bb('0x91'));ut['logAgent'](_0x7e14f3,0x4,'Answer');rpcDb[_0xf1bb('0xef')](_0x7e14f3,_0xf1bb('0x13c'));}}};Preview[_0xf1bb('0x11')]['syncHangup']=function(_0x4f32ef){var _0x243325=this;var _0x2c1c98=this[_0xf1bb('0x6f')][_0x4f32ef[_0xf1bb('0xad')]];var _0x45efdb;if(_0x2c1c98){_0x45efdb=this[_0xf1bb('0x15')][_0x2c1c98['queue']];logger[_0xf1bb('0x70')]('[syncHangup][talking]',_0x4f32ef['linkedid'],_0xf1bb('0xb2'),_0x45efdb[_0xf1bb('0x29')],_0xf1bb('0x73'),_0x45efdb[_0xf1bb('0x2e')]);}if(this[_0xf1bb('0x6f')][_0x4f32ef[_0xf1bb('0xad')]]&&_0x4f32ef[_0xf1bb('0xad')]!==_0x4f32ef['uniqueid']){if(_0x4f32ef[_0xf1bb('0x13d')]==='16'&&this['actions'][_0x4f32ef[_0xf1bb('0xad')]][_0xf1bb('0x75')]){this['callProgressDetectingCustomer'](_0x4f32ef,_0x4f32ef['linkedid'],_0x4f32ef['cause']);}else if(this[_0xf1bb('0x6f')][_0x4f32ef[_0xf1bb('0xad')]][_0xf1bb('0x75')]){logger[_0xf1bb('0x70')](_0xf1bb('0x13e'),_0x4f32ef[_0xf1bb('0xad')],_0x4f32ef[_0xf1bb('0x13d')],_0xf1bb('0xb2'),_0x45efdb[_0xf1bb('0x29')],_0xf1bb('0x73'),_0x45efdb['pTalking']);this['callProgressDetectingCustomer'](_0x4f32ef,_0x4f32ef[_0xf1bb('0xad')],_0x4f32ef[_0xf1bb('0x13d')]);}}else if(_0x2c1c98&&_['isNil'](_0x2c1c98[_0xf1bb('0x13f')])&&_0x45efdb[_0xf1bb('0x140')]&&_0x4f32ef[_0xf1bb('0xad')]===_0x4f32ef['uniqueid']&&_[_0xf1bb('0x6e')](_0x4f32ef['reason'])&&_0x4f32ef['cause']==='16'&&_0x4f32ef[_0xf1bb('0x141')]==='6'&&_[_0xf1bb('0x142')](_0x2c1c98[_0xf1bb('0x143')])){if(_0x2c1c98[_0xf1bb('0xab')]){rpcDb['unlockContact'](_0x2c1c98[_0xf1bb('0x102')]);}if(_0x2c1c98[_0xf1bb('0xac')]){rpcDb[_0xf1bb('0x8f')](_0x2c1c98[_0xf1bb('0x102')]);}_0x4f32ef[_0xf1bb('0xed')]='22';this['callProgressDetectingAgent'](_0x2c1c98,_0x45efdb,_0x4f32ef);}else if(_0x2c1c98&&_0x2c1c98[_0xf1bb('0x143')]){if(_0x4f32ef[_0xf1bb('0x13d')]==='16'&&this[_0xf1bb('0x6f')][_0x4f32ef['linkedid']][_0xf1bb('0x75')]){logger[_0xf1bb('0x70')](_0xf1bb('0x144'),_0x4f32ef[_0xf1bb('0xad')],_0x4f32ef[_0xf1bb('0x13d')],_0xf1bb('0xb2'),_0x45efdb[_0xf1bb('0x29')],_0xf1bb('0x73'),_0x45efdb[_0xf1bb('0x2e')]);this[_0xf1bb('0x9f')](_0x4f32ef,_0x4f32ef[_0xf1bb('0xad')],_0x4f32ef['cause']);}else if(this[_0xf1bb('0x6f')][_0x4f32ef[_0xf1bb('0xad')]][_0xf1bb('0x75')]){logger[_0xf1bb('0x70')](_0xf1bb('0x13e'),_0x4f32ef[_0xf1bb('0xad')],_0x4f32ef[_0xf1bb('0x13d')],_0xf1bb('0xb2'),_0x45efdb[_0xf1bb('0x29')],_0xf1bb('0x73'),_0x45efdb[_0xf1bb('0x2e')]);this['callProgressDetectingCustomer'](_0x4f32ef,_0x4f32ef['linkedid'],_0x4f32ef[_0xf1bb('0x13d')]);}}};Preview[_0xf1bb('0x11')][_0xf1bb('0x1c')]=function(_0x177365){if(this[_0xf1bb('0x6f')][_0x177365[_0xf1bb('0xea')]]&&_0x177365[_0xf1bb('0xea')]!==_0x177365['destuniqueid']){this['callProgressDetectingCustomer'](_0x177365,_0x177365[_0xf1bb('0xea')],_0x177365[_0xf1bb('0xe4')]);}};Preview[_0xf1bb('0x11')][_0xf1bb('0x1a')]=function(_0x2c3e17){if(this[_0xf1bb('0x6f')][_0x2c3e17['linkedid']]&&_0x2c3e17[_0xf1bb('0xad')]!==_0x2c3e17[_0xf1bb('0xb1')]&&!this['actions'][_0x2c3e17[_0xf1bb('0xad')]][_0xf1bb('0x75')]){if(_0x2c3e17[_0xf1bb('0x13d')]==='1'){this[_0xf1bb('0x9f')](_0x2c3e17,_0x2c3e17[_0xf1bb('0xad')],_0x2c3e17[_0xf1bb('0x13d')]);}}};Preview['prototype'][_0xf1bb('0x145')]=function(_0x28f3b5,_0x5dcaa1,_0x502149){if(this[_0xf1bb('0x6f')][_0x28f3b5]){if(_[_0xf1bb('0x6e')](this['actions'][_0x28f3b5][_0xf1bb('0x146')])){this[_0xf1bb('0x6f')][_0x28f3b5][_0xf1bb('0x146')]={};}this[_0xf1bb('0x6f')][_0x28f3b5][_0xf1bb('0x146')][_0x5dcaa1]=_0x502149;}};Preview[_0xf1bb('0x11')]['syncVarSet']=function(_0x3eca5b){try{if(!_[_0xf1bb('0x6e')](_0x3eca5b)){if(ut[_0xf1bb('0x147')](_['keys'](_0x3eca5b[_0xf1bb('0x148')])[0x0])){this[_0xf1bb('0x145')](_0x3eca5b['uniqueid'],_[_0xf1bb('0x149')](_0x3eca5b[_0xf1bb('0x148')])[0x0],_0x3eca5b[_0xf1bb('0x14a')]);}}}catch(_0x379b17){logger[_0xf1bb('0x14b')](_0xf1bb('0x14c'),util[_0xf1bb('0x14d')](_0x379b17,{'showHidden':![],'depth':null}));}};Preview['prototype'][_0xf1bb('0x22')]=function(_0x1503c3){if(_0x1503c3){if(this['actions'][_0x1503c3['transfertargetlinkedid']]){this[_0xf1bb('0x6f')][_0x1503c3[_0xf1bb('0x14e')]]['transfer']=!![];}}};Preview['prototype'][_0xf1bb('0x24')]=function(_0x4f509c){if(_0x4f509c){if(this[_0xf1bb('0x6f')][_0x4f509c['transfererlinkedid']]){this['actions'][_0x4f509c[_0xf1bb('0x14f')]][_0xf1bb('0x143')]=!![];}}};module[_0xf1bb('0x150')]=Preview;