a7ec73603ed927cfc144d8ccbc54bd9f8c39f6fd
[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 _0x7743=['outboundNoAnswerCallsDay','countnoanswerretry','NoAnswer','dialNoAnswerMaxRetry','[callProgressDetectingCustomer][logNoAnswer]','dialNoAnswerRetryFrequency','CONGESTION','countcongestionretry','Congestion','custom:agentcongestion','congestion','[callProgressDetectingCustomer][logCongestionGlobal]','dialCongestionMaxRetry','[callProgressDetectingCustomer][logCongestion]','dialBusyRetryFrequency','countagentrejectretry','AgentReject','custom:agentreject','agentreject','[syncHangupRequest][logAgentReject]','dialAgentRejectMaxRetry','[callProgressDetectingCustomer][logAgentReject]','dialAgentRejectRetryFrequency','ABANDONED','Abandoned','[callProgressDetectingCustomer][logAbandoned]','countabandonedetry','dialAbandonedMaxRety','countabandonedretry','[default]','cause-txt','dialstatus','[callProgressDetectingCustomer][logUnknown]','[callProgressDetectingCustomer][logUnknownGlobal]','updateOriginated','[callProgressDetectingCustomer]','[originated][decrement][callProgressDetectingCustomer]','originated:\x20','originated','destlinkedid','callProgressDetectingAgent','isUndefined','object','reason','NoSuchNumber','[callProgressDetectingAgent][logNoSuch]','createAgentHistory','[callProgressDetectingAgent][logBusy]','[callProgressDetectingAgent][logCongestion]','logAgent','AnswerAGI','[originated][decrement][callProgressDetectingAgent]','checkInBlack','Contact','phone','Contact\x20is\x20undefined','lookAgent','isEmpty','[Preview][execCall][success]','\x20IdHopper:\x20','idContact','called','Calling','[Preview][execCall][failure]','Call\x20failed','logBlacklist','createHistory','[Blacklist][error]','Contact\x20in\x20black\x20List','SIP/%s','status','execRun','pick','unlock','unlockContact','getContactPreview','recallme','isValid','checkIsBlackList','[Preview][checkIsBlackList]','Call\x20unsuccessful','validateContact','Empty\x20Contact','[Preview][validateContact][Empty\x20Campaign]','Empty\x20Campaign','[Preview][validateContact][Trunk\x20not\x20work]','campaign\x20Name:\x20','\x20Trunk\x20is\x20not\x20active','Trunk\x20not\x20work','[Preview][validateContact][Campaign\x20Active]','\x20Not\x20Active','Is\x20Valid','execCall','SIP/%s/%s%s','trim','dialCutDigit','substring','getCallerId','dialRandomLastDigitCallerIdNumber','getCallerIdRandom','originatecalleridname','extractCalleridName','addVariables','merge','toLowerVariables','variablesAction','[originated][increment]','OriginateError','[originateFailure][logOriginateFailure]','channel','actionid','logLookAgent','responsetime','isFailure','[callProgressDetectingAgent][logAnswer]','cause','[syncHangup][talking][cause]','dialQueueProject','channelstate','transfer','addVariable','variables','filterKey','keys','variable','value','error','[syncVarSet][Preview]','inspect','transfertargetlinkedid','transfererlinkedid','util','lodash','bluebird','uuid','moment','md5','ioredis','../../../config/environment','../../../config/logger','preview','actionPreview','./rpcDb','./action','./util/util','redis','defaults','localhost','socket.io-emitter','enqueue','tail','finally','sequence','campaignsPreview','voiceQueues','trunks','actions','agents','clockClearZombieChannels','originateresponse','bind','syncHangup','hanguprequest','syncHangupRequest','varset','syncVarSet','attendedtransfer','syncAttendedTransfer','syncBlindTransfer','type','outbound','name','strategy','answered','available','loggedIn','sumDuration','sumHoldTime','total','unmanaged','abandoned','waiting','loggedInDb','dialActive','dialOriginateCallerIdName','dialOriginateCallerIdNumber','dialOriginateTimeout','dialPrefix','outboundAnswerAgiCallsDay','outboundAnswerCallsDay','outboundBlacklistCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundDropCallsDayCallersExit','outboundDropCallsDayTimeout','outboundNoSuchCallsDay','outboundOriginateFailureCallsDay','outboundReCallsDay','outboundUnknownCallsDay','outboundAbandonedCallsDay','predictiveIntervalAnsweredCalls','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','predictiveIntervalDroppedCallsCallersExit','predictiveIntervalDroppedCallsTimeout','predictiveIntervalErlangCalls','predictiveIntervalErlangCallsDroppedCalls','predictiveIntervalHitRate','predictiveIntervalMultiplicativeFactor','predictiveIntervalPauses','predictiveIntervalAvailable','predictiveIntervalTotalCalls','message','erlangCalls','erlangCallToSecond','erlangAbandonmentRate','erlangBusyFactor','startPredictive','startProgressive','Trunk','active','callerid','Interval','format','voice:queue:%s','voice_queue:save','info','[DEBUG]\x20Emit\x20voice_queue_channel:remove\x20event','stringify','voice_queue_channel:remove','sendMessageOneNotActive','pTalking','paused','logger','[CampaignPreview]\x20Campaign\x20Queue:\x20','\x20is\x20not\x20active','\x20is\x20disactive','prototype','loopCampaigns','syncCampaigns','dialMethod','booked','clearZombieChannels','hasOwnProperty','setMessage','recallMe','[clearZombieChannels][talking]','Queue','queue','pTalking:\x20','dialAnswer','contactId','UserId','VoiceQueueId','ListId','Action','catch','No\x20such\x20channel','[clearZombieChannel]','decrementTalkink','loggerError','[Dialer][checkChannel][pTalking][Preview]','[Dialer][checkChannel][Preview]','[action]','size','clearZombieChannel','getContactRecallMe','then','isNil','getDiff','scheduledat','dialRecallMeTimeout','Agent','run','[RecallMe]','logger2','disableContact','starttime','RecallInQueue','rescheduleContactInQueue','createCustomerHistory','[HistoryDialRecallInQueue][historyCatch]','logCustomer','createCustomerFinal','[HistoryRecallClose]','[getContactRecallMe]','IsNotLoggedIn','AGENTS_NOT_LOGGED','isActive','isTrunkReachable','TrunkBackup','TRUNK_IS_NOT_REACHABLE','ACTIVE','callProgressDetectingCustomer','countnosuchnumberretry','countglobal','emit','buildObj','nosuchnumber','totalGlobal','dialGlobalMaxRetry','cloneAction','Global','[callProgressDetectingCustomer][logNoSuchGlobal]','dialNoSuchNumberMaxRetry','rescheduleContact','scheduledAt','unlockAgent','ANSWER','YYYY-MM-DD\x20HH:mm:ss','answertime','[syncHangup][talking][increment]','\x20Queue','acw','custom:agentConnectPreview','buildAcw','custom:agentcomplete','complete','[16]','Answer','[callProgressDetectingCustomer][logAnswer]','[callProgressDetectingCustomer][logAnswerGlobal]','talktime','sumBillable','[syncHangup][talking][decrement]','uniqueid','linkedid','BUSY','Busy','busy','[callProgressDetectingCustomer][logBusy]','countbusyretry','dialBusyMaxRetry','activeContact','NOANSWER'];(function(_0x1694f5,_0x49b7c3){var _0x5b4321=function(_0x58c183){while(--_0x58c183){_0x1694f5['push'](_0x1694f5['shift']());}};_0x5b4321(++_0x49b7c3);}(_0x7743,0x1d2));var _0x3774=function(_0x4b1ba2,_0x51ed13){_0x4b1ba2=_0x4b1ba2-0x0;var _0xa0bef6=_0x7743[_0x4b1ba2];return _0xa0bef6;};'use strict';var util=require(_0x3774('0x0'));var _=require(_0x3774('0x1'));var BPromise=require(_0x3774('0x2'));var uuid=require(_0x3774('0x3'));var moment=require(_0x3774('0x4'));var md5=require(_0x3774('0x5'));var Redis=require(_0x3774('0x6'));var config=require(_0x3774('0x7'));var logger=require(_0x3774('0x8'))(_0x3774('0x9'));var loggerAction=require(_0x3774('0x8'))(_0x3774('0xa'));var ami=require('../ami');var rpcDb=require(_0x3774('0xb'));var Action=require(_0x3774('0xc'));var ut=require(_0x3774('0xd'));config[_0x3774('0xe')]=_[_0x3774('0xf')](config[_0x3774('0xe')],{'host':_0x3774('0x10'),'port':0x18eb});var io=require(_0x3774('0x11'))(new Redis(config['redis']));var Sequence=function(){};Sequence['prototype'][_0x3774('0x12')]=function(_0x43a093){this[_0x3774('0x13')]=this['tail']?this[_0x3774('0x13')][_0x3774('0x14')](_0x43a093):_0x43a093();};function Preview(_0x2e80f8){this[_0x3774('0x15')]=new Sequence();this[_0x3774('0x16')]=_0x2e80f8[_0x3774('0x17')];this['trunks']=_0x2e80f8[_0x3774('0x18')];this[_0x3774('0x19')]={};this[_0x3774('0x1a')]=_0x2e80f8[_0x3774('0x1a')];this[_0x3774('0x1b')]=0x0;ami['on'](_0x3774('0x1c'),this['syncOriginateResponse'][_0x3774('0x1d')](this));ami['on']('hangup',this[_0x3774('0x1e')][_0x3774('0x1d')](this));ami['on'](_0x3774('0x1f'),this[_0x3774('0x20')][_0x3774('0x1d')](this));ami['on']('dialend',this['syncDialEnd'][_0x3774('0x1d')](this));ami['on']('newexten',this['syncNewExten']['bind'](this));ami['on'](_0x3774('0x21'),this[_0x3774('0x22')][_0x3774('0x1d')](this));ami['on'](_0x3774('0x23'),this[_0x3774('0x24')]['bind'](this));ami['on']('blindtransfer',this[_0x3774('0x25')][_0x3774('0x1d')](this));this['loopCampaigns'](this[_0x3774('0x16')]);}function emit(_0x4364c5,_0xa5f868,_0xcbf031){io['to'](_0x4364c5)['emit'](_0xa5f868,_0xcbf031);}function emitCampaignPreview(_0x1abdc0){if(_0x1abdc0[_0x3774('0x26')]===_0x3774('0x27')){var _0x15942a={'id':_0x1abdc0['id'],'name':_0x1abdc0[_0x3774('0x28')],'strategy':_0x1abdc0[_0x3774('0x29')],'answered':_0x1abdc0[_0x3774('0x2a')],'available':_0x1abdc0[_0x3774('0x2b')],'loggedIn':_0x1abdc0[_0x3774('0x2c')],'pTalking':_0x1abdc0['pTalking'],'sumBillable':_0x1abdc0['sumBillable'],'sumDuration':_0x1abdc0[_0x3774('0x2d')],'sumHoldTime':_0x1abdc0[_0x3774('0x2e')]||0x0,'talking':_0x1abdc0['talking'],'total':_0x1abdc0[_0x3774('0x2f')],'type':_0x1abdc0[_0x3774('0x26')],'unmanaged':_0x1abdc0[_0x3774('0x30')],'abandoned':_0x1abdc0[_0x3774('0x31')],'waiting':_0x1abdc0[_0x3774('0x32')],'loggedInDb':_0x1abdc0[_0x3774('0x33')],'dialActive':_0x1abdc0[_0x3774('0x34')],'dialMethod':_0x1abdc0['dialMethod'],'dialOriginateCallerIdName':_0x1abdc0[_0x3774('0x35')],'dialOriginateCallerIdNumber':_0x1abdc0[_0x3774('0x36')],'dialOriginateTimeout':_0x1abdc0[_0x3774('0x37')],'dialPrefix':_0x1abdc0[_0x3774('0x38')],'outboundAnswerAgiCallsDay':_0x1abdc0[_0x3774('0x39')],'outboundAnswerCallsDay':_0x1abdc0[_0x3774('0x3a')],'outboundBlacklistCallsDay':_0x1abdc0[_0x3774('0x3b')],'outboundBusyCallsDay':_0x1abdc0[_0x3774('0x3c')],'outboundCongestionCallsDay':_0x1abdc0[_0x3774('0x3d')],'outboundDropCallsDayACS':_0x1abdc0['outboundDropCallsDayACS'],'outboundDropCallsDayCallersExit':_0x1abdc0[_0x3774('0x3e')],'outboundDropCallsDayTimeout':_0x1abdc0[_0x3774('0x3f')],'outboundNoAnswerCallsDay':_0x1abdc0['outboundNoAnswerCallsDay'],'outboundNoSuchCallsDay':_0x1abdc0[_0x3774('0x40')],'outboundOriginateFailureCallsDay':_0x1abdc0[_0x3774('0x41')],'outboundReCallsDay':_0x1abdc0[_0x3774('0x42')],'outboundRejectCallsDay':_0x1abdc0['outboundRejectCallsDay'],'outboundUnknownCallsDay':_0x1abdc0[_0x3774('0x43')],'outboundAbandonedCallsDay':_0x1abdc0[_0x3774('0x44')],'predictiveIntervalAnsweredCalls':_0x1abdc0[_0x3774('0x45')],'predictiveIntervalAvgHoldtime':_0x1abdc0[_0x3774('0x46')],'predictiveIntervalAvgTalktime':_0x1abdc0[_0x3774('0x47')],'predictiveIntervalDroppedCallsCallersExit':_0x1abdc0[_0x3774('0x48')],'predictiveIntervalDroppedCallsTimeout':_0x1abdc0[_0x3774('0x49')],'predictiveIntervalErlangCalls':_0x1abdc0[_0x3774('0x4a')],'predictiveIntervalErlangCallsDroppedCalls':_0x1abdc0[_0x3774('0x4b')],'predictiveIntervalHitRate':_0x1abdc0[_0x3774('0x4c')],'predictiveIntervalMultiplicativeFactor':_0x1abdc0[_0x3774('0x4d')],'predictiveIntervalPauses':_0x1abdc0[_0x3774('0x4e')],'predictiveIntervalAvailable':_0x1abdc0[_0x3774('0x4f')],'predictiveIntervalTotalCalls':_0x1abdc0[_0x3774('0x50')],'message':_0x1abdc0[_0x3774('0x51')],'originated':_0x1abdc0['originated'],'erlangCalls':_0x1abdc0[_0x3774('0x52')],'erlangCallToSecond':_0x1abdc0[_0x3774('0x53')],'erlangAbandonmentRate':_0x1abdc0[_0x3774('0x54')],'erlangBusyFactor':_0x1abdc0[_0x3774('0x55')],'startPredictive':_0x1abdc0[_0x3774('0x56')],'startProgressive':_0x1abdc0[_0x3774('0x57')]};if(_0x1abdc0[_0x3774('0x58')]){_0x15942a[_0x3774('0x58')]={'id':_0x1abdc0[_0x3774('0x58')]['id'],'name':_0x1abdc0[_0x3774('0x58')][_0x3774('0x28')],'active':_0x1abdc0['Trunk'][_0x3774('0x59')],'callerid':_0x1abdc0[_0x3774('0x58')][_0x3774('0x5a')]};}if(_0x1abdc0[_0x3774('0x5b')]){_0x15942a[_0x3774('0x5b')]={'id':_0x1abdc0[_0x3774('0x5b')]['id'],'name':_0x1abdc0[_0x3774('0x5b')]['name']};}var _0x4fb534=md5(JSON['stringify'](_0x15942a));if(_0x1abdc0['md5']!==_0x4fb534){_0x1abdc0[_0x3774('0x5')]=_0x4fb534;emit(util[_0x3774('0x5c')](_0x3774('0x5d'),_0x15942a[_0x3774('0x28')]),_0x3774('0x5e'),_0x15942a);}}}function emitVoiceQueueChannelRemove(_0x425ce4){logger[_0x3774('0x5f')](_0x3774('0x60'),JSON[_0x3774('0x61')](_0x425ce4));emit(util['format']('voice:queue:%s',_0x425ce4['name']),_0x3774('0x62'),_0x425ce4);}function notSendMessagesQueue(_0x5f58a1){if(_0x5f58a1[_0x3774('0x63')]){if(_0x5f58a1['originated']===0x0&&_0x5f58a1[_0x3774('0x64')]===0x0){_0x5f58a1['sendMessageOneNotActive']=![];_0x5f58a1['available']=0x0;_0x5f58a1[_0x3774('0x65')]=0x0;_0x5f58a1[_0x3774('0x51')]='NOT_ACTIVE';ut[_0x3774('0x66')](_0x3774('0x67'),_0x5f58a1[_0x3774('0x28')]+_0x3774('0x68'));}else{_0x5f58a1['message']='IS_DISACTIVED';ut[_0x3774('0x66')]('[CampaignPreview]\x20Campaign\x20Queue:\x20',_0x5f58a1[_0x3774('0x28')]+_0x3774('0x69'));}emitCampaignPreview(_0x5f58a1);}}Preview[_0x3774('0x6a')][_0x3774('0x6b')]=function(){var _0x57e9ca=this;setInterval(function(){_0x57e9ca[_0x3774('0x6c')]();},0x7cf);};Preview[_0x3774('0x6a')][_0x3774('0x6c')]=function(){var _0x5c190b=this['campaignsPreview'];this['clockClearZombieChannels']+=0x1;for(var _0x5bffa3 in _0x5c190b){if(_0x5c190b['hasOwnProperty'](_0x5bffa3)&&(_0x5c190b[_0x5bffa3][_0x3774('0x6d')]===_0x3774('0x9')||_0x5c190b[_0x5bffa3][_0x3774('0x6d')]===_0x3774('0x6e'))&&_0x5c190b[_0x5bffa3][_0x3774('0x26')]===_0x3774('0x27')){if(this['clockClearZombieChannels']>0x7){this[_0x3774('0x1b')]=0x0;this[_0x3774('0x6f')]();}}if(_0x5c190b[_0x3774('0x70')](_0x5bffa3)&&_0x5c190b[_0x5bffa3][_0x3774('0x6d')]===_0x3774('0x9')&&_0x5c190b[_0x5bffa3][_0x3774('0x26')]===_0x3774('0x27')){if(_0x5c190b[_0x5bffa3][_0x3774('0x34')]){this[_0x3774('0x71')](_0x5c190b[_0x5bffa3]);this[_0x3774('0x72')](_0x5c190b[_0x5bffa3]);}else{notSendMessagesQueue(_0x5c190b[_0x5bffa3]);}}}};Preview['prototype']['clearZombieChannel']=function(_0x35b997){var _0x9818ea=this;this[_0x3774('0x15')][_0x3774('0x12')](function(){if(!_['isNil'](_0x9818ea[_0x3774('0x19')][_0x35b997])){loggerAction[_0x3774('0x5f')](_0x3774('0x73'),_0x35b997,_0x3774('0x74'),_0x9818ea[_0x3774('0x19')][_0x35b997]['queue'],'originated:\x20',JSON['stringify'](_0x9818ea[_0x3774('0x16')][_0x9818ea[_0x3774('0x19')][_0x35b997][_0x3774('0x75')]]['originated']),_0x3774('0x76'),JSON[_0x3774('0x61')](_0x9818ea[_0x3774('0x16')][_0x9818ea[_0x3774('0x19')][_0x35b997]['queue']]['pTalking']),JSON[_0x3774('0x61')](_0x9818ea[_0x3774('0x19')][_0x35b997][_0x3774('0x77')]),JSON[_0x3774('0x61')](_['pick'](_0x9818ea['actions'][_0x35b997],[_0x3774('0x78'),_0x3774('0x79'),_0x3774('0x7a'),_0x3774('0x7b')])));return ami[_0x3774('0x7c')]({'action':'status','channel':_0x9818ea['actions'][_0x35b997]['channel']})[_0x3774('0x7d')](function(_0x43dd7d){if(_0x43dd7d[_0x3774('0x51')]===_0x3774('0x7e')){setTimeout(function(){if(_0x9818ea['actions'][_0x35b997]){ut['updateOriginated'](_0x9818ea[_0x3774('0x16')][_0x9818ea[_0x3774('0x19')][_0x35b997]['queue']],_0x3774('0x7f'));if(_0x9818ea['actions'][_0x35b997][_0x3774('0x77')]===!![]){ut[_0x3774('0x80')](_0x9818ea[_0x3774('0x16')][_0x9818ea['actions'][_0x35b997]['queue']],_0x3774('0x7f'));ut[_0x3774('0x81')](_0x3774('0x82')+_0x35b997,_0x9818ea[_0x3774('0x19')][_0x35b997][_0x3774('0x75')]);}ut[_0x3774('0x81')](_0x3774('0x83')+_0x35b997,_0x9818ea[_0x3774('0x19')][_0x35b997][_0x3774('0x75')]);delete _0x9818ea[_0x3774('0x19')][_0x35b997];}},0x2328);}});}});};Preview['prototype'][_0x3774('0x6f')]=function(){var _0x1e7a39=this;loggerAction[_0x3774('0x5f')](_0x3774('0x84'),_[_0x3774('0x85')](this[_0x3774('0x19')]));for(var _0x57770e in this[_0x3774('0x19')]){if(_0x1e7a39[_0x3774('0x19')][_0x3774('0x70')](_0x57770e)){_0x1e7a39[_0x3774('0x86')](_0x57770e);}}};Preview[_0x3774('0x6a')][_0x3774('0x72')]=function(_0x2669bc){var _0x48a155=this;rpcDb[_0x3774('0x87')](_0x2669bc['id'],ut['agentReadyId'](this[_0x3774('0x1a')]))[_0x3774('0x88')](function(_0x9159ca){if(!_[_0x3774('0x89')](_0x9159ca)){for(var _0x561cb6=0x0;_0x561cb6<_0x9159ca['length'];_0x561cb6+=0x1){if(ut[_0x3774('0x8a')](_0x9159ca[_0x561cb6][_0x3774('0x8b')])<_0x2669bc[_0x3774('0x8c')]*0x3c){if(_0x9159ca[_0x561cb6][_0x3774('0x8d')]&&!_0x9159ca[_0x561cb6][_0x3774('0x8d')]['voicePause']){_0x48a155[_0x3774('0x8e')](_0x9159ca[_0x561cb6]['id'])[_0x3774('0x88')](ut['logger2'](_0x3774('0x8f')))[_0x3774('0x7d')](ut[_0x3774('0x90')](_0x3774('0x8f')));}else{rpcDb[_0x3774('0x91')](_0x9159ca[_0x561cb6]['id']);}}else{var _0x516ba0=new Action(_0x9159ca[_0x561cb6],_0x2669bc);_0x516ba0[_0x3774('0x92')]=moment()[_0x3774('0x5c')]('YYYY-MM-DD\x20HH:mm:ss');_0x2669bc[_0x3774('0x42')]+=0x1;ut['logCustomer'](_0x516ba0,0x17,_0x3774('0x93'));if(_0x2669bc['dialRecallInQueue']){rpcDb[_0x3774('0x94')](ut['createBody'](_0x9159ca[_0x561cb6]));rpcDb[_0x3774('0x95')](_0x516ba0,_0x3774('0x96'));}else{ut[_0x3774('0x97')](_0x516ba0,0x16,'RecallFailedTimeout');rpcDb[_0x3774('0x95')](_0x516ba0,'[HistoryRecallClose]');rpcDb[_0x3774('0x98')](_0x516ba0,_0x3774('0x99'));}}}}})[_0x3774('0x7d')](ut['logger2'](_0x3774('0x9a')));};Preview[_0x3774('0x6a')][_0x3774('0x71')]=function(_0x2b55a1){_0x2b55a1[_0x3774('0x63')]=!![];if(ut[_0x3774('0x9b')](_0x2b55a1[_0x3774('0x2c')])){_0x2b55a1['message']=_0x3774('0x9c');}else if(!ut[_0x3774('0x9d')](_0x2b55a1['dialActive'])){_0x2b55a1[_0x3774('0x51')]='NOT_ACTIVE';}else if(!this[_0x3774('0x9e')](_0x2b55a1[_0x3774('0x58')])){if(!this[_0x3774('0x9e')](_0x2b55a1[_0x3774('0x9f')])){_0x2b55a1[_0x3774('0x51')]=_0x3774('0xa0');}else{_0x2b55a1[_0x3774('0x51')]='ACTIVE';}}else{_0x2b55a1[_0x3774('0x51')]=_0x3774('0xa1');}emitCampaignPreview(_0x2b55a1);};Preview[_0x3774('0x6a')][_0x3774('0xa2')]=function(_0x5a1423,_0x2938cb,_0x1c27ef){var _0x454689=this;var _0x42348b=this[_0x3774('0x19')][_0x2938cb];var _0x3a768f=this[_0x3774('0x16')][_0x42348b['queue']];var _0x15d667;if(_0x3a768f){switch(_0x1c27ef){case'1':_0x3a768f[_0x3774('0x40')]+=0x1;_0x42348b[_0x3774('0xa3')]+=0x1;_0x42348b[_0x3774('0xa4')]=ut['totalGlobal'](_0x42348b);ut[_0x3774('0x97')](_0x42348b,0x0,'NoSuchNumber');ami[_0x3774('0xa5')]('custom:agentnosuchnumber',ut[_0x3774('0xa6')](_0x42348b,_0x3774('0xa7')));rpcDb['createCustomerHistory'](_0x42348b,'[callProgressDetectingCustomer][logNoSuch]');if(ut[_0x3774('0xa8')](_0x42348b)>=_0x3a768f[_0x3774('0xa9')]){_0x15d667=ut[_0x3774('0xaa')](_0x42348b,0xf,_0x3774('0xab'));rpcDb[_0x3774('0x98')](_0x15d667,_0x3774('0xac'));}else{if(_0x42348b['countnosuchnumberretry']>=_0x3a768f[_0x3774('0xad')]){rpcDb[_0x3774('0x98')](_0x42348b,_0x3774('0xac'));}else{rpcDb[_0x3774('0xae')](ut[_0x3774('0xaf')](_0x42348b,_0x3774('0xa3'),_0x3a768f['dialNoSuchNumberRetryFrequency']),_0x42348b[_0x3774('0xb0')],_0x42348b['activeContact']);}}delete this[_0x3774('0x19')][_0x5a1423['linkedid']];break;case _0x3774('0xb1'):var _0x5229bc=moment()[_0x3774('0x5c')](_0x3774('0xb2'));_0x42348b['responsetime']=_0x5229bc;_0x42348b[_0x3774('0xb3')]=_0x5229bc;_0x42348b[_0x3774('0x77')]=!![];_0x3a768f['pTalking']+=0x1;logger[_0x3774('0x5f')](_0x3774('0xb4'),_0x42348b['uniqueid'],_0x3774('0xb5'),_0x3a768f[_0x3774('0x28')],'pTalking:\x20',_0x3a768f[_0x3774('0x64')]);ami[_0x3774('0xa5')]('custom:agentconnect',ut[_0x3774('0xa6')](_0x42348b,'connect'));if(_0x3a768f[_0x3774('0xb6')]){ami[_0x3774('0xa5')](_0x3774('0xb7'),ut[_0x3774('0xb8')](_0x42348b));}break;case'16':ami['emit'](_0x3774('0xb9'),ut['buildObj'](_0x42348b,_0x3774('0xba')));emitVoiceQueueChannelRemove(ut[_0x3774('0xa6')](_0x42348b,_0x3774('0xba')));_0x3a768f[_0x3774('0x3a')]+=0x1;_0x3a768f['total']+=0x1;_0x3a768f[_0x3774('0x2a')]+=0x1;ut[_0x3774('0x80')](_0x3a768f,_0x3774('0xbb'));_0x42348b['countglobal']=ut[_0x3774('0xa8')](_0x42348b);ut[_0x3774('0x97')](_0x42348b,0x4,_0x3774('0xbc'));rpcDb['createCustomerHistory'](_0x42348b,_0x3774('0xbd'));rpcDb['createCustomerFinal'](_0x42348b,_0x3774('0xbe'));rpcDb['crateCustomerReportQueue'](_0x42348b);_0x3a768f[_0x3774('0x2d')]+=_0x42348b[_0x3774('0xbf')];_0x3a768f[_0x3774('0xc0')]+=_0x42348b[_0x3774('0xbf')];logger[_0x3774('0x5f')](_0x3774('0xc1'),_0x42348b[_0x3774('0xc2')],_0x3774('0xb5'),_0x3a768f[_0x3774('0x28')],'pTalking:\x20',_0x3a768f[_0x3774('0x64')]);delete this[_0x3774('0x19')][_0x5a1423[_0x3774('0xc3')]];break;case _0x3774('0xc4'):_0x3a768f[_0x3774('0x3c')]+=0x1;_0x42348b['countbusyretry']+=0x1;_0x42348b[_0x3774('0xa4')]=ut[_0x3774('0xa8')](_0x42348b);ut[_0x3774('0x97')](_0x42348b,0x5,_0x3774('0xc5'));ami[_0x3774('0xa5')]('custom:agentbusy',ut[_0x3774('0xa6')](_0x42348b,_0x3774('0xc6')));rpcDb[_0x3774('0x95')](_0x42348b,_0x3774('0xc7'));if(ut[_0x3774('0xa8')](_0x42348b)>=_0x3a768f[_0x3774('0xa9')]){_0x15d667=ut['cloneAction'](_0x42348b,0xf,'Global');rpcDb['createCustomerFinal'](_0x15d667,'[callProgressDetectingCustomer][logBusyGlobal]');}else{if(_0x42348b[_0x3774('0xc8')]>=_0x3a768f[_0x3774('0xc9')]){rpcDb['createCustomerFinal'](_0x42348b,'[callProgressDetectingCustomer][logBusy]');}else{rpcDb[_0x3774('0xae')](ut[_0x3774('0xaf')](_0x42348b,_0x3774('0xc8'),_0x3a768f['dialBusyRetryFrequency']),_0x42348b[_0x3774('0xb0')],_0x42348b[_0x3774('0xca')]);}}break;case _0x3774('0xcb'):_0x3a768f[_0x3774('0xcc')]+=0x1;_0x42348b[_0x3774('0xcd')]+=0x1;_0x42348b[_0x3774('0xa4')]=ut[_0x3774('0xa8')](_0x42348b);ut[_0x3774('0x97')](_0x42348b,0x3,_0x3774('0xce'));ami[_0x3774('0xa5')]('custom:agentnoanswer',ut[_0x3774('0xa6')](_0x42348b,'noanswer'));rpcDb[_0x3774('0x95')](_0x42348b,'[callProgressDetectingCustomer][logNoAnswer]');if(ut[_0x3774('0xa8')](_0x42348b)>=_0x3a768f[_0x3774('0xa9')]){_0x15d667=ut[_0x3774('0xaa')](_0x42348b,0xf,_0x3774('0xab'));rpcDb[_0x3774('0x98')](_0x15d667,'[callProgressDetectingCustomer][logNoAnswerGlobal]');}else{if(_0x42348b[_0x3774('0xcd')]>=_0x3a768f[_0x3774('0xcf')]){rpcDb[_0x3774('0x98')](_0x42348b,_0x3774('0xd0'));}else{rpcDb[_0x3774('0xae')](ut[_0x3774('0xaf')](_0x42348b,_0x3774('0xcd'),_0x3a768f[_0x3774('0xd1')]),_0x42348b['unlockAgent'],_0x42348b[_0x3774('0xca')]);}}break;case _0x3774('0xd2'):_0x3a768f['outboundCongestionCallsDay']+=0x1;_0x42348b[_0x3774('0xd3')]+=0x1;_0x42348b['countglobal']=ut[_0x3774('0xa8')](_0x42348b);ut['logCustomer'](_0x42348b,0x8,_0x3774('0xd4'));ami[_0x3774('0xa5')](_0x3774('0xd5'),ut['buildObj'](_0x42348b,_0x3774('0xd6')));rpcDb['createCustomerHistory'](_0x42348b,'[callProgressDetectingCustomer][logCongestion]');if(ut['totalGlobal'](_0x42348b)>=_0x3a768f[_0x3774('0xa9')]){_0x15d667=ut['cloneAction'](_0x42348b,0xf,_0x3774('0xab'));rpcDb[_0x3774('0x98')](_0x15d667,_0x3774('0xd7'));}else{if(_0x42348b[_0x3774('0xd3')]>=_0x3a768f[_0x3774('0xd8')]){rpcDb[_0x3774('0x98')](_0x42348b,_0x3774('0xd9'));}else{rpcDb[_0x3774('0xae')](ut[_0x3774('0xaf')](_0x42348b,_0x3774('0xd3'),_0x3a768f[_0x3774('0xda')]),_0x42348b[_0x3774('0xb0')],_0x42348b[_0x3774('0xca')]);}}break;case'CANCEL':_0x3a768f['outboundRejectCallsDay']+=0x1;_0x42348b[_0x3774('0xdb')]+=0x1;_0x42348b[_0x3774('0xa4')]=ut[_0x3774('0xa8')](_0x42348b);ut[_0x3774('0x97')](_0x42348b,0x14,_0x3774('0xdc'));ami[_0x3774('0xa5')](_0x3774('0xdd'),ut[_0x3774('0xa6')](_0x42348b,_0x3774('0xde')));rpcDb[_0x3774('0x95')](_0x42348b,_0x3774('0xdf'));if(ut[_0x3774('0xa8')](_0x42348b)>=_0x3a768f[_0x3774('0xa9')]){_0x15d667=ut['cloneAction'](_0x42348b,0x14,_0x3774('0xdc'));rpcDb[_0x3774('0x98')](_0x15d667,'[callProgressDetectingCustomer][logAgentReject]');}else{if(_0x42348b['countagentrejectretry']>=_0x3a768f[_0x3774('0xe0')]){rpcDb['createCustomerFinal'](_0x42348b,_0x3774('0xe1'));}else{rpcDb[_0x3774('0xae')](ut[_0x3774('0xaf')](_0x42348b,'countagentrejectretry',_0x3a768f[_0x3774('0xe2')]),_0x42348b[_0x3774('0xb0')],_0x42348b[_0x3774('0xca')]);}}break;case _0x3774('0xe3'):_0x3a768f[_0x3774('0x44')]+=0x1;_0x42348b['countabandonedretry']+=0x1;_0x42348b[_0x3774('0xa4')]=ut[_0x3774('0xa8')](_0x42348b);ut[_0x3774('0x97')](_0x42348b,0xb,_0x3774('0xe4'));rpcDb[_0x3774('0x95')](_0x42348b,_0x3774('0xe5'));if(ut['totalGlobal'](_0x42348b)>=_0x3a768f[_0x3774('0xa9')]){_0x15d667=ut[_0x3774('0xaa')](_0x42348b,0xf,_0x3774('0xab'));rpcDb['createCustomerFinal'](_0x15d667,_0x3774('0xe5'));}else{if(_0x42348b[_0x3774('0xe6')]>=_0x3a768f[_0x3774('0xe7')]){rpcDb['createCustomerFinal'](_0x42348b,_0x3774('0xe5'));}else{rpcDb[_0x3774('0xae')](ut[_0x3774('0xaf')](_0x42348b,_0x3774('0xe8'),_0x3a768f['dialAbandonedRetryFrequency']),_0x42348b[_0x3774('0xb0')],_0x42348b[_0x3774('0xca')]);}}break;default:if(_0x42348b[_0x3774('0x77')]){ut[_0x3774('0x80')](_0x3a768f,_0x3774('0xe9'));ut[_0x3774('0x81')]('[Dialer][decrementTalkink][no\x20Hangup][Preview]'+_0x3a768f[_0x3774('0x28')],_0x5a1423);}_0x3a768f['outboundUnknownCallsDay']+=0x1;_0x42348b['countglobal']=ut[_0x3774('0xa8')](_0x42348b);ut['logCustomer'](_0x42348b,0xc,_0x5a1423[_0x3774('0xea')]||_0x5a1423[_0x3774('0xeb')]);rpcDb[_0x3774('0x95')](_0x42348b,_0x3774('0xec'));if(ut['totalGlobal'](_0x42348b)>=_0x3a768f['dialGlobalMaxRetry']){_0x15d667=ut['cloneAction'](_0x42348b,0xf,'Global');rpcDb['createCustomerFinal'](_0x15d667,_0x3774('0xed'));}else{rpcDb[_0x3774('0x98')](_0x42348b,_0x3774('0xed'));}delete this[_0x3774('0x19')][_0x5a1423[_0x3774('0xc3')]];}if(!(_0x42348b[_0x3774('0x77')]&&_0x1c27ef==='16')){ut[_0x3774('0xee')](_0x3a768f,_0x3774('0xef'));logger[_0x3774('0x5f')](_0x3774('0xf0'),_0x42348b[_0x3774('0xc2')],_0x3774('0xb5'),_0x3a768f[_0x3774('0x28')],_0x3774('0xf1'),_0x3a768f[_0x3774('0xf2')]);}if(_0x1c27ef!==_0x3774('0xb1')){delete this[_0x3774('0x19')][_0x5a1423[_0x3774('0xc3')]];delete this[_0x3774('0x19')][_0x5a1423[_0x3774('0xf3')]];}}};Preview[_0x3774('0x6a')][_0x3774('0xf4')]=function(_0x16efd3,_0x14affd,_0x3f83fb){if(_[_0x3774('0xf5')](_0x14affd)&&_0x3774('0xf6')!==typeof _0x14affd){return;}if(_[_0x3774('0xf5')](_0x3f83fb)&&_0x3774('0xf6')!==typeof _0x3f83fb){return;}switch(_0x3f83fb[_0x3774('0xf7')]){case'0':ut['logAgent'](_0x16efd3,0x0,_0x3774('0xf8'));rpcDb['createAgentHistory'](_0x16efd3,_0x3774('0xf9'));break;case'3':ut['logAgent'](_0x16efd3,0x3,_0x3774('0xce'));rpcDb[_0x3774('0xfa')](_0x16efd3,'[callProgressDetectingAgent][logNoAnswer]');break;case'5':ut['logAgent'](_0x16efd3,0x5,_0x3774('0xc5'));rpcDb[_0x3774('0xfa')](_0x16efd3,_0x3774('0xfb'));break;case'8':ut['logAgent'](_0x16efd3,0x8,'Congestion');rpcDb[_0x3774('0xfa')](_0x16efd3,_0x3774('0xfc'));break;case'22':ut[_0x3774('0xfd')](_0x16efd3,0x16,_0x3774('0xfe'));rpcDb[_0x3774('0xfa')](_0x16efd3,'[callProgressDetectingAgent][logAnswerAGI]');break;default:ut[_0x3774('0xfd')](_0x16efd3,0xc,_0x3f83fb['reason']);rpcDb[_0x3774('0xfa')](_0x16efd3,_0x3774('0xfc'));}ut[_0x3774('0xee')](_0x14affd,'[callProgressDetectingAgent]');logger[_0x3774('0x5f')](_0x3774('0xff'),_0x16efd3[_0x3774('0xc2')],_0x3774('0xb5'),_0x14affd[_0x3774('0x28')],'originated:\x20',_0x14affd[_0x3774('0xf2')]);delete this['actions'][_0x16efd3[_0x3774('0xc2')]];};Preview[_0x3774('0x6a')][_0x3774('0x100')]=function(_0x24bfc1,_0x493cbc,_0x314d15,_0x5a6086,_0x16e8db){var _0x17ca78=this;return new BPromise(function(_0x1a0312,_0x2e9843){if(_[_0x3774('0x89')](_0x493cbc)||_[_0x3774('0x89')](_0x493cbc[_0x3774('0x101')])||_[_0x3774('0x89')](_0x493cbc[_0x3774('0x101')][_0x3774('0x102')])||_['isNil'](_0x493cbc[_0x3774('0x7a')])){_0x2e9843(ut[_0x3774('0x51')](_0x3774('0x103'),_0x5a6086,_0x16e8db));return;}var _0x601768=uuid['v4']();var _0x58905f=_0x17ca78[_0x3774('0x16')][_0x493cbc['Queue'][_0x3774('0x28')]];var _0x7a6790=_0x314d15?_0x17ca78['agents'][_0x314d15]['id']:undefined;_0x17ca78[_0x3774('0x19')][_0x601768]=new Action(_0x493cbc,_0x58905f,_0x601768,_0x314d15,_0x7a6790);var _0x39b076=_0x17ca78[_0x3774('0x19')][_0x601768];_0x39b076['unlockAgent']=_0x5a6086;_0x39b076[_0x3774('0xca')]=_0x16e8db;_0x39b076[_0x3774('0x104')]=_0x314d15;if(_[_0x3774('0x105')](_0x24bfc1)){_0x17ca78['execCall'](_0x39b076,_0x58905f,_0x493cbc,_0x314d15)[_0x3774('0x88')](function(_0x1008e6){logger['info'](_0x3774('0x106'),'Queue:\x20'+_0x39b076[_0x3774('0x75')]+_0x3774('0x107')+_0x39b076[_0x3774('0x108')],JSON[_0x3774('0x61')](_0x1008e6));ami[_0x3774('0xa5')]('custom:agentcalled',ut['buildObj'](_0x39b076,_0x3774('0x109')));_0x1a0312(ut[_0x3774('0x51')](_0x3774('0x10a')));})['catch'](function(_0x5267b4){ut[_0x3774('0x66')](_0x3774('0x10b'),_0x5267b4);_0x2e9843(ut['message'](_0x3774('0x10c'),_0x5a6086,_0x16e8db));});}else{_0x58905f[_0x3774('0x3b')]+=0x1;ut[_0x3774('0x10d')](_0x39b076);rpcDb[_0x3774('0x10e')](_0x39b076,_0x3774('0x10f'));delete _0x17ca78['actions'][_0x601768];_0x2e9843(ut[_0x3774('0x51')](_0x3774('0x110'),_0x5a6086,_0x16e8db));}});};Preview['prototype'][_0x3774('0x9e')]=function(_0x20fc42){return!_[_0x3774('0x89')](_0x20fc42)&&!_[_0x3774('0x89')](_0x20fc42['name'])&&!_[_0x3774('0x89')](_0x20fc42['active'])&&_0x20fc42['active']&&!_['isNil'](this[_0x3774('0x18')][util[_0x3774('0x5c')](_0x3774('0x111'),_0x20fc42[_0x3774('0x28')])])&&!_[_0x3774('0x89')](this[_0x3774('0x18')][util[_0x3774('0x5c')](_0x3774('0x111'),_0x20fc42[_0x3774('0x28')])][_0x3774('0x112')])&&(this[_0x3774('0x18')][util['format'](_0x3774('0x111'),_0x20fc42[_0x3774('0x28')])][_0x3774('0x112')]==='reachable'||this['trunks'][util[_0x3774('0x5c')](_0x3774('0x111'),_0x20fc42[_0x3774('0x28')])][_0x3774('0x112')]==='unmonitored');};Preview[_0x3774('0x6a')][_0x3774('0x8e')]=function(_0x385180,_0x2d6a85){var _0x5ab2cb=this;return new BPromise(function(_0x268e01,_0x36f9e8){_0x5ab2cb[_0x3774('0x113')](_0x385180,_0x2d6a85)['then'](function(_0x143177){_0x268e01(_[_0x3774('0x114')](_0x143177,[_0x3774('0x51')]));})[_0x3774('0x7d')](function(_0x519f67){if(_0x519f67[_0x3774('0x115')]){rpcDb[_0x3774('0x116')](_0x385180);}if(_0x519f67[_0x3774('0x59')]){rpcDb[_0x3774('0x91')](_0x385180);}_0x36f9e8(_['pick'](_0x519f67,['message']));});});};Preview[_0x3774('0x6a')][_0x3774('0x113')]=function(_0x17c0b2,_0x26897c){var _0x35284b=this;return new BPromise(function(_0xd7dbd,_0x53bf1d){var _0x5d7759,_0x41ac1c;rpcDb[_0x3774('0x117')](_0x17c0b2)[_0x3774('0x88')](function(_0x1aa7e8){if(!_[_0x3774('0x89')](_0x1aa7e8[0x0])){_0x41ac1c=_0x1aa7e8[0x0][_0x3774('0x118')]?![]:!![];_0x5d7759=_0x1aa7e8[0x0][_0x3774('0x118')]?!![]:![];_0x5d7759=_0x26897c?!![]:_0x5d7759;}var _0x267e76=_0x35284b['validateContact'](_0x1aa7e8);if(_0x267e76[_0x3774('0x119')]){rpcDb[_0x3774('0x11a')](_[_0x3774('0x114')](_0x1aa7e8[0x0],['VoiceQueueId','Contact.phone']))['then'](function(_0x5de06f){_0x35284b['checkInBlack'](_0x5de06f,_0x1aa7e8[0x0],_0x26897c,_0x41ac1c,_0x5d7759)[_0x3774('0x88')](function(_0x1eaa8a){_0xd7dbd(_0x1eaa8a);})[_0x3774('0x7d')](function(_0x49d7cc){_0x53bf1d(_0x49d7cc);});})[_0x3774('0x7d')](function(_0x4f432f){ut[_0x3774('0x66')](_0x3774('0x11b'),_0x4f432f);_0x53bf1d(ut[_0x3774('0x51')](_0x3774('0x11c'),_0x41ac1c,_0x5d7759));});}else{_0x53bf1d(ut[_0x3774('0x51')](_0x267e76[_0x3774('0x51')],_0x41ac1c,_0x5d7759));}})[_0x3774('0x7d')](function(_0x542cee){ut[_0x3774('0x66')]('[Preview][getContactPreview]',_0x542cee);_0x53bf1d(ut[_0x3774('0x51')](_0x3774('0x11c'),![],!![]));});});};Preview['prototype'][_0x3774('0x11d')]=function(_0x1beb6f){if(_[_0x3774('0x89')](_0x1beb6f)||_[_0x3774('0x105')](_0x1beb6f)||!_[_0x3774('0x89')](_0x1beb6f[0x0][_0x3774('0x8d')])&&_[_0x3774('0x89')](_0x1beb6f[0x0][_0x3774('0x8d')][_0x3774('0x28')])){ut[_0x3774('0x66')]('[Preview][validateContact][Empty\x20Contact]',_0x1beb6f);return{'isValid':![],'message':_0x3774('0x11e')};}var _0x5481bf=this['campaignsPreview'][_0x1beb6f[0x0][_0x3774('0x74')][_0x3774('0x28')]];_0x5481bf[_0x3774('0x51')]=_0x3774('0xa1');if(_[_0x3774('0x89')](_0x5481bf)){ut[_0x3774('0x66')](_0x3774('0x11f'),_0x5481bf);return{'isValid':![],'message':_0x3774('0x120')};}if(!this['isTrunkReachable'](_0x5481bf[_0x3774('0x58')])){ut[_0x3774('0x66')](_0x3774('0x121'),_0x3774('0x122')+_0x5481bf[_0x3774('0x28')]+_0x3774('0x123'));if(!this[_0x3774('0x9e')](_0x5481bf['TrunkBackup'])){ut['logger'](_0x3774('0x121'),_0x5481bf['name']+'\x20Trunk\x20Backup\x20is\x20not\x20active');return{'isValid':![],'message':_0x3774('0x124')};}}if(!ut[_0x3774('0x9d')](_0x5481bf[_0x3774('0x34')])){ut[_0x3774('0x66')](_0x3774('0x125'),_0x5481bf[_0x3774('0x28')]+_0x3774('0x126'));return{'isValid':![],'message':_0x3774('0x122')+_0x5481bf[_0x3774('0x28')]+_0x3774('0x126')};}return{'isValid':!![],'message':_0x3774('0x127')};};Preview['prototype'][_0x3774('0x128')]=function(_0xc8a5cc,_0x4ec667,_0x47b314,_0x14592d){var _0x56d896=this;return new BPromise(function(_0xf99d31,_0x4b4def){var _0x3ecdbb=_0xc8a5cc[_0x3774('0xc2')];var _0x51c239=_0x56d896[_0x3774('0x9e')](_0x4ec667[_0x3774('0x58')])?util['format'](_0x3774('0x129'),_0x4ec667['Trunk']['name'],_['isNil'](_0x4ec667[_0x3774('0x38')])?'':_0x4ec667[_0x3774('0x38')][_0x3774('0x12a')]()||'',_0x4ec667[_0x3774('0x12b')]>0x0?_0x47b314[_0x3774('0x101')][_0x3774('0x102')][_0x3774('0x12c')](_0x4ec667[_0x3774('0x12b')]):_0x47b314[_0x3774('0x101')][_0x3774('0x102')]):util[_0x3774('0x5c')](_0x3774('0x129'),_[_0x3774('0x89')](_0x4ec667['TrunkBackup'])?_0x4ec667[_0x3774('0x58')][_0x3774('0x28')]:_0x4ec667[_0x3774('0x9f')][_0x3774('0x28')],_[_0x3774('0x89')](_0x4ec667[_0x3774('0x38')])?'':_0x4ec667[_0x3774('0x38')][_0x3774('0x12a')]()||'',_0x4ec667[_0x3774('0x12b')]>0x0?_0x47b314[_0x3774('0x101')][_0x3774('0x102')][_0x3774('0x12c')](_0x4ec667[_0x3774('0x12b')]):_0x47b314[_0x3774('0x101')][_0x3774('0x102')]);var _0x15c97b=_0x56d896[_0x3774('0x9e')](_0x4ec667[_0x3774('0x58')])?ut[_0x3774('0x12d')](_0x4ec667[_0x3774('0x58')][_0x3774('0x5a')],_0x4ec667[_0x3774('0x35')],_0x4ec667[_0x3774('0x12e')]>0x0?ut[_0x3774('0x12f')](_0x4ec667[_0x3774('0x36')],_0x4ec667['dialRandomLastDigitCallerIdNumber']):_0x4ec667['dialOriginateCallerIdNumber']):ut[_0x3774('0x12d')](_['isNil'](_0x4ec667['TrunkBackup'])?_0x4ec667[_0x3774('0x58')][_0x3774('0x5a')]:_0x4ec667[_0x3774('0x9f')]['callerid'],_0x4ec667[_0x3774('0x35')],_0x4ec667[_0x3774('0x12e')]>0x0?ut[_0x3774('0x12f')](_0x4ec667[_0x3774('0x36')],_0x4ec667[_0x3774('0x12e')]):_0x4ec667['dialOriginateCallerIdNumber']);if(_0x15c97b){_0xc8a5cc[_0x3774('0x130')]=ut[_0x3774('0x131')](_0x15c97b);_0xc8a5cc['originatecalleridnum']=ut['extractCalleridNumber'](_0x15c97b);}var _0x2d1f38=ut[_0x3774('0x132')](_0x4ec667,_0x47b314,_0x51c239,_0x15c97b,_0x3ecdbb,_0xc8a5cc);_[_0x3774('0x133')](_0xc8a5cc,ut[_0x3774('0x134')](_0x2d1f38));_0xc8a5cc[_0x3774('0x92')]=moment()[_0x3774('0x5c')](_0x3774('0xb2'));ami['Action'](ut[_0x3774('0x135')](_0xc8a5cc,_0x4ec667,_0x2d1f38,_0xc8a5cc[_0x3774('0xca')],_0x14592d))['then'](function(_0x32c695){_0x4ec667[_0x3774('0xf2')]+=0x1;logger[_0x3774('0x5f')](_0x3774('0x136'),_0x3ecdbb,_0x3774('0xb5'),_0x4ec667[_0x3774('0x28')],_0x3774('0xf1'),_0x4ec667[_0x3774('0xf2')]);_0xf99d31(_0x32c695);})[_0x3774('0x7d')](function(_0x2f8258){ut[_0x3774('0xfd')](_0xc8a5cc,0xe,_0x3774('0x137'));rpcDb[_0x3774('0xfa')](_0xc8a5cc,_0x3774('0x138'));_0x4b4def(_0x2f8258);});});};Preview[_0x3774('0x6a')]['syncNewExten']=function(_0x57837a){if(this[_0x3774('0x19')][_0x57837a[_0x3774('0xc3')]]){this['actions'][_0x57837a[_0x3774('0xc3')]][_0x3774('0x139')]=_0x57837a['channel'];}};Preview[_0x3774('0x6a')]['syncOriginateResponse']=function(_0xac3799){var _0x1da870=this;var _0x25fef0=this[_0x3774('0x19')][_0xac3799[_0x3774('0x13a')]];if(_0x25fef0){if(_0x25fef0['lookAgent']&&this[_0x3774('0x1a')][_0x25fef0[_0x3774('0x104')]]){ut[_0x3774('0x13b')](_0x25fef0,this[_0x3774('0x1a')][_0x25fef0[_0x3774('0x104')]]['name'],this[_0x3774('0x1a')][_0x25fef0['lookAgent']]['id']);}var _0x5915bf=_['clone'](_0x25fef0);_0x5915bf[_0x3774('0x13c')]=moment()[_0x3774('0x5c')](_0x3774('0xb2'));var _0x58d4b2=_0x1da870[_0x3774('0x16')][_0x25fef0[_0x3774('0x75')]];if(ut[_0x3774('0x13d')](_0xac3799['response'])){if(_0x25fef0[_0x3774('0xb0')]){rpcDb['unlockContact'](_0x25fef0[_0x3774('0x108')]);}if(_0x25fef0['activeContact']){rpcDb['disableContact'](_0x25fef0['idContact']);}ami[_0x3774('0xa5')]('custom:agentringnoanswer',ut['buildObj'](_0x25fef0,'rejected'));this[_0x3774('0xf4')](_0x5915bf,_0x58d4b2,_0xac3799);}else{_0x25fef0[_0x3774('0x92')]=moment()[_0x3774('0x5c')](_0x3774('0xb2'));ut[_0x3774('0xfd')](_0x5915bf,0x4,'Answer');rpcDb[_0x3774('0xfa')](_0x5915bf,_0x3774('0x13e'));}}};Preview[_0x3774('0x6a')][_0x3774('0x1e')]=function(_0x5a5cc6){var _0x53456=this;var _0x511a25=this[_0x3774('0x19')][_0x5a5cc6[_0x3774('0xc3')]];var _0x20a74a;if(_0x511a25){_0x20a74a=this[_0x3774('0x16')][_0x511a25[_0x3774('0x75')]];logger[_0x3774('0x5f')]('[syncHangup][talking]',_0x5a5cc6[_0x3774('0xc3')],_0x3774('0xb5'),_0x20a74a[_0x3774('0x28')],'pTalking:\x20',_0x20a74a['pTalking']);}if(this[_0x3774('0x19')][_0x5a5cc6[_0x3774('0xc3')]]&&_0x5a5cc6[_0x3774('0xc3')]!==_0x5a5cc6['uniqueid']){if(_0x5a5cc6[_0x3774('0x13f')]==='16'&&this['actions'][_0x5a5cc6['linkedid']][_0x3774('0x77')]){this[_0x3774('0xa2')](_0x5a5cc6,_0x5a5cc6[_0x3774('0xc3')],_0x5a5cc6['cause']);}else if(this[_0x3774('0x19')][_0x5a5cc6[_0x3774('0xc3')]][_0x3774('0x77')]){logger[_0x3774('0x5f')](_0x3774('0x140'),_0x5a5cc6['linkedid'],_0x5a5cc6['cause'],_0x3774('0xb5'),_0x20a74a[_0x3774('0x28')],'pTalking:\x20',_0x20a74a[_0x3774('0x64')]);this[_0x3774('0xa2')](_0x5a5cc6,_0x5a5cc6[_0x3774('0xc3')],_0x5a5cc6[_0x3774('0x13f')]);}}else if(_0x511a25&&_[_0x3774('0x89')](_0x511a25['statedesc'])&&_0x20a74a[_0x3774('0x141')]&&_0x5a5cc6[_0x3774('0xc3')]===_0x5a5cc6[_0x3774('0xc2')]&&_[_0x3774('0x89')](_0x5a5cc6['reason'])&&_0x5a5cc6[_0x3774('0x13f')]==='16'&&_0x5a5cc6[_0x3774('0x142')]==='6'&&_[_0x3774('0xf5')](_0x511a25['transfer'])){if(_0x511a25[_0x3774('0xb0')]){rpcDb[_0x3774('0x116')](_0x511a25[_0x3774('0x108')]);}if(_0x511a25[_0x3774('0xca')]){rpcDb[_0x3774('0x91')](_0x511a25[_0x3774('0x108')]);}_0x5a5cc6['reason']='22';this['callProgressDetectingAgent'](_0x511a25,_0x20a74a,_0x5a5cc6);}else if(_0x511a25&&_0x511a25[_0x3774('0x143')]){if(_0x5a5cc6['cause']==='16'&&this['actions'][_0x5a5cc6[_0x3774('0xc3')]][_0x3774('0x77')]){logger['info']('[syncHangup][talking][transfer]',_0x5a5cc6['linkedid'],_0x5a5cc6[_0x3774('0x13f')],_0x3774('0xb5'),_0x20a74a[_0x3774('0x28')],_0x3774('0x76'),_0x20a74a[_0x3774('0x64')]);this['callProgressDetectingCustomer'](_0x5a5cc6,_0x5a5cc6[_0x3774('0xc3')],_0x5a5cc6[_0x3774('0x13f')]);}else if(this[_0x3774('0x19')][_0x5a5cc6[_0x3774('0xc3')]][_0x3774('0x77')]){logger[_0x3774('0x5f')](_0x3774('0x140'),_0x5a5cc6[_0x3774('0xc3')],_0x5a5cc6['cause'],'\x20Queue',_0x20a74a['name'],_0x3774('0x76'),_0x20a74a[_0x3774('0x64')]);this[_0x3774('0xa2')](_0x5a5cc6,_0x5a5cc6[_0x3774('0xc3')],_0x5a5cc6[_0x3774('0x13f')]);}}};Preview[_0x3774('0x6a')]['syncDialEnd']=function(_0x4097c2){if(this[_0x3774('0x19')][_0x4097c2[_0x3774('0xf3')]]&&_0x4097c2[_0x3774('0xf3')]!==_0x4097c2['destuniqueid']){this[_0x3774('0xa2')](_0x4097c2,_0x4097c2[_0x3774('0xf3')],_0x4097c2[_0x3774('0xeb')]);}};Preview[_0x3774('0x6a')][_0x3774('0x20')]=function(_0x4afe53){if(this[_0x3774('0x19')][_0x4afe53[_0x3774('0xc3')]]&&_0x4afe53['linkedid']!==_0x4afe53[_0x3774('0xc2')]&&!this[_0x3774('0x19')][_0x4afe53[_0x3774('0xc3')]]['dialAnswer']){if(_0x4afe53['cause']==='1'){this[_0x3774('0xa2')](_0x4afe53,_0x4afe53['linkedid'],_0x4afe53[_0x3774('0x13f')]);}}};Preview[_0x3774('0x6a')][_0x3774('0x144')]=function(_0x1ae812,_0xeb1581,_0x1ffda8){if(this[_0x3774('0x19')][_0x1ae812]){if(_['isNil'](this[_0x3774('0x19')][_0x1ae812][_0x3774('0x145')])){this[_0x3774('0x19')][_0x1ae812][_0x3774('0x145')]={};}this[_0x3774('0x19')][_0x1ae812][_0x3774('0x145')][_0xeb1581]=_0x1ffda8;}};Preview[_0x3774('0x6a')]['syncVarSet']=function(_0x1d2d3f){try{if(!_[_0x3774('0x89')](_0x1d2d3f)){if(ut[_0x3774('0x146')](_[_0x3774('0x147')](_0x1d2d3f['variable'])[0x0])){this[_0x3774('0x144')](_0x1d2d3f[_0x3774('0xc2')],_['keys'](_0x1d2d3f[_0x3774('0x148')])[0x0],_0x1d2d3f[_0x3774('0x149')]);}}}catch(_0x2a6357){logger[_0x3774('0x14a')](_0x3774('0x14b'),util[_0x3774('0x14c')](_0x2a6357,{'showHidden':![],'depth':null}));}};Preview['prototype'][_0x3774('0x24')]=function(_0x47db71){if(_0x47db71){if(this[_0x3774('0x19')][_0x47db71[_0x3774('0x14d')]]){this['actions'][_0x47db71[_0x3774('0x14d')]][_0x3774('0x143')]=!![];}}};Preview[_0x3774('0x6a')][_0x3774('0x25')]=function(_0xf6c133){if(_0xf6c133){if(this[_0x3774('0x19')][_0xf6c133[_0x3774('0x14e')]]){this['actions'][_0xf6c133[_0x3774('0x14e')]]['transfer']=!![];}}};module['exports']=Preview;