8015e8fe005c65610ae3aef8e9830867aa8eaded
[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 _0x5dd4=['[syncHangup][talking]','callProgressDetectingCustomer','[syncHangup][talking][cause]','cause','statedesc','dialQueueProject','transfer','destuniqueid','addVariable','variables','filterKey','keys','variable','value','[syncVarSet][Preview]','inspect','syncAttendedTransfer','transfertargetlinkedid','transfererlinkedid','exports','util','moment','ioredis','../../../config/environment','../../../config/logger','actionPreview','./rpcDb','./action','redis','prototype','enqueue','tail','sequence','campaignsPreview','voiceQueues','trunks','actions','agents','originateresponse','syncOriginateResponse','bind','hangup','syncHangup','hanguprequest','syncHangupRequest','dialend','syncDialEnd','newexten','varset','syncVarSet','blindtransfer','syncBlindTransfer','name','answered','loggedIn','talking','unmanaged','abandoned','loggedInDb','dialMethod','dialOriginateCallerIdNumber','dialOriginateTimeout','dialPrefix','outboundAnswerAgiCallsDay','outboundAnswerCallsDay','outboundBlacklistCallsDay','outboundDropCallsDayACS','outboundNoAnswerCallsDay','outboundNoSuchCallsDay','outboundOriginateFailureCallsDay','outboundReCallsDay','outboundRejectCallsDay','outboundUnknownCallsDay','outboundAbandonedCallsDay','predictiveIntervalAnsweredCalls','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','predictiveIntervalDroppedCallsCallersExit','predictiveIntervalDroppedCallsTimeout','predictiveIntervalErlangCallsDroppedCalls','predictiveIntervalHitRate','predictiveIntervalMultiplicativeFactor','predictiveIntervalAvailable','message','originated','erlangCalls','erlangCallToSecond','startPredictive','startProgressive','Trunk','active','Interval','stringify','md5','format','voice:queue:%s','voice_queue:save','voice_queue_channel:remove','sendMessageOneNotActive','available','paused','NOT_ACTIVE','logger','[CampaignPreview]\x20Campaign\x20Queue:\x20','\x20is\x20not\x20active','IS_DISACTIVED','syncCampaigns','hasOwnProperty','booked','type','outbound','clockClearZombieChannels','clearZombieChannels','preview','setMessage','clearZombieChannel','isNil','info','[clearZombieChannels][talking]','Queue','queue','pTalking','pick','contactId','UserId','VoiceQueueId','ListId','Action','status','channel','catch','updateOriginated','[clearZombieChannel]','dialAnswer','decrementTalkink','loggerError','[Dialer][checkChannel][pTalking][Preview]','[Dialer][checkChannel][Preview]','[action]','recallMe','getContactRecallMe','agentReadyId','length','getDiff','dialRecallMeTimeout','Agent','voicePause','run','logger2','[RecallMe]','starttime','YYYY-MM-DD\x20HH:mm:ss','dialRecallInQueue','rescheduleContactInQueue','createBody','createCustomerHistory','[HistoryDialRecallInQueue][historyCatch]','logCustomer','RecallFailedTimeout','createCustomerFinal','[HistoryRecallClose]','[getContactRecallMe]','IsNotLoggedIn','AGENTS_NOT_LOGGED','isTrunkReachable','TrunkBackup','TRUNK_IS_NOT_REACHABLE','ACTIVE','countnosuchnumberretry','NoSuchNumber','emit','custom:agentnosuchnumber','buildObj','nosuchnumber','totalGlobal','dialGlobalMaxRetry','cloneAction','Global','[callProgressDetectingCustomer][logNoSuchGlobal]','dialNoSuchNumberMaxRetry','rescheduleContact','dialNoSuchNumberRetryFrequency','unlockAgent','activeContact','linkedid','ANSWER','responsetime','answertime','pTalking:\x20','acw','custom:agentConnectPreview','custom:agentcomplete','complete','[16]','countglobal','Answer','[callProgressDetectingCustomer][logAnswerGlobal]','crateCustomerReportQueue','sumDuration','talktime','sumBillable','[syncHangup][talking][decrement]','uniqueid','\x20Queue','outboundBusyCallsDay','countbusyretry','Busy','custom:agentbusy','busy','[callProgressDetectingCustomer][logBusyGlobal]','[callProgressDetectingCustomer][logBusy]','scheduledAt','dialBusyRetryFrequency','NOANSWER','countnoanswerretry','NoAnswer','custom:agentnoanswer','[callProgressDetectingCustomer][logNoAnswer]','[callProgressDetectingCustomer][logNoAnswerGlobal]','dialNoAnswerMaxRetry','CONGESTION','outboundCongestionCallsDay','countcongestionretry','custom:agentcongestion','congestion','[callProgressDetectingCustomer][logCongestion]','[callProgressDetectingCustomer][logCongestionGlobal]','countagentrejectretry','custom:agentreject','agentreject','[syncHangupRequest][logAgentReject]','[callProgressDetectingCustomer][logAgentReject]','dialAgentRejectRetryFrequency','ABANDONED','countabandonedretry','Abandoned','[callProgressDetectingCustomer][logAbandoned]','countabandonedetry','dialAbandonedMaxRety','dialAbandonedRetryFrequency','[default]','[Dialer][decrementTalkink][no\x20Hangup][Preview]','dialstatus','[callProgressDetectingCustomer][logUnknown]','[callProgressDetectingCustomer][logUnknownGlobal]','[originated][decrement][callProgressDetectingCustomer]','originated:\x20','destlinkedid','callProgressDetectingAgent','isUndefined','object','reason','logAgent','createAgentHistory','[callProgressDetectingAgent][logNoSuch]','[callProgressDetectingAgent][logNoAnswer]','[callProgressDetectingAgent][logBusy]','Congestion','[callProgressDetectingAgent][logCongestion]','AnswerAGI','[callProgressDetectingAgent][logAnswerAGI]','checkInBlack','Contact','phone','Contact\x20is\x20undefined','isEmpty','execCall','then','[Preview][execCall][success]','Queue:\x20','custom:agentcalled','called','[Preview][execCall][failure]','logBlacklist','createHistory','[Blacklist][error]','Contact\x20in\x20black\x20List','SIP/%s','reachable','unmonitored','unlock','unlockContact','disableContact','execRun','getContactPreview','recallme','validateContact','isValid','checkIsBlackList','Contact.phone','[Preview][checkIsBlackList]','Call\x20unsuccessful','[Preview][getContactPreview]','[Preview][validateContact][Empty\x20Contact]','Empty\x20Contact','Empty\x20Campaign','[Preview][validateContact][Trunk\x20not\x20work]','campaign\x20Name:\x20','\x20Trunk\x20Backup\x20is\x20not\x20active','Trunk\x20not\x20work','isActive','dialActive','[Preview][validateContact][Campaign\x20Active]','\x20Not\x20Active','Is\x20Valid','SIP/%s/%s%s','dialCutDigit','substring','trim','dialOriginateCallerIdName','dialRandomLastDigitCallerIdNumber','getCallerId','callerid','getCallerIdRandom','originatecalleridname','originatecalleridnum','addVariables','toLowerVariables','[originated][increment]','OriginateError','[originateFailure][logOriginateFailure]','syncNewExten','actionid','lookAgent','clone','response','idContact','custom:agentringnoanswer','rejected','[callProgressDetectingAgent][logAnswer]'];(function(_0x15336e,_0x3fb381){var _0x3ead42=function(_0x599ce1){while(--_0x599ce1){_0x15336e['push'](_0x15336e['shift']());}};_0x3ead42(++_0x3fb381);}(_0x5dd4,0x15e));var _0x45dd=function(_0x318a0d,_0x5ed3bb){_0x318a0d=_0x318a0d-0x0;var _0x3e56c2=_0x5dd4[_0x318a0d];return _0x3e56c2;};'use strict';var util=require(_0x45dd('0x0'));var _=require('lodash');var BPromise=require('bluebird');var uuid=require('uuid');var moment=require(_0x45dd('0x1'));var md5=require('md5');var Redis=require(_0x45dd('0x2'));var config=require(_0x45dd('0x3'));var logger=require(_0x45dd('0x4'))('preview');var loggerAction=require(_0x45dd('0x4'))(_0x45dd('0x5'));var ami=require('../ami');var rpcDb=require(_0x45dd('0x6'));var Action=require(_0x45dd('0x7'));var ut=require('./util/util');config[_0x45dd('0x8')]=_['defaults'](config['redis'],{'host':'localhost','port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0x45dd('0x8')]));var Sequence=function(){};Sequence[_0x45dd('0x9')][_0x45dd('0xa')]=function(_0x39371a){this['tail']=this[_0x45dd('0xb')]?this[_0x45dd('0xb')]['finally'](_0x39371a):_0x39371a();};function Preview(_0x2cb7d0){this[_0x45dd('0xc')]=new Sequence();this[_0x45dd('0xd')]=_0x2cb7d0[_0x45dd('0xe')];this['trunks']=_0x2cb7d0[_0x45dd('0xf')];this[_0x45dd('0x10')]={};this[_0x45dd('0x11')]=_0x2cb7d0[_0x45dd('0x11')];this['clockClearZombieChannels']=0x0;ami['on'](_0x45dd('0x12'),this[_0x45dd('0x13')][_0x45dd('0x14')](this));ami['on'](_0x45dd('0x15'),this[_0x45dd('0x16')][_0x45dd('0x14')](this));ami['on'](_0x45dd('0x17'),this[_0x45dd('0x18')][_0x45dd('0x14')](this));ami['on'](_0x45dd('0x19'),this[_0x45dd('0x1a')][_0x45dd('0x14')](this));ami['on'](_0x45dd('0x1b'),this['syncNewExten'][_0x45dd('0x14')](this));ami['on'](_0x45dd('0x1c'),this[_0x45dd('0x1d')][_0x45dd('0x14')](this));ami['on']('attendedtransfer',this['syncAttendedTransfer'][_0x45dd('0x14')](this));ami['on'](_0x45dd('0x1e'),this[_0x45dd('0x1f')][_0x45dd('0x14')](this));this['loopCampaigns'](this[_0x45dd('0xd')]);}function emit(_0x2b07c5,_0x353090,_0x23caf2){io['to'](_0x2b07c5)['emit'](_0x353090,_0x23caf2);}function emitCampaignPreview(_0x301643){if(_0x301643['type']==='outbound'){var _0x4217eb={'id':_0x301643['id'],'name':_0x301643[_0x45dd('0x20')],'strategy':_0x301643['strategy'],'answered':_0x301643[_0x45dd('0x21')],'available':_0x301643['available'],'loggedIn':_0x301643[_0x45dd('0x22')],'pTalking':_0x301643['pTalking'],'sumBillable':_0x301643['sumBillable'],'sumDuration':_0x301643['sumDuration'],'sumHoldTime':_0x301643['sumHoldTime']||0x0,'talking':_0x301643[_0x45dd('0x23')],'total':_0x301643['total'],'type':_0x301643['type'],'unmanaged':_0x301643[_0x45dd('0x24')],'abandoned':_0x301643[_0x45dd('0x25')],'waiting':_0x301643['waiting'],'loggedInDb':_0x301643[_0x45dd('0x26')],'dialActive':_0x301643['dialActive'],'dialMethod':_0x301643[_0x45dd('0x27')],'dialOriginateCallerIdName':_0x301643['dialOriginateCallerIdName'],'dialOriginateCallerIdNumber':_0x301643[_0x45dd('0x28')],'dialOriginateTimeout':_0x301643[_0x45dd('0x29')],'dialPrefix':_0x301643[_0x45dd('0x2a')],'outboundAnswerAgiCallsDay':_0x301643[_0x45dd('0x2b')],'outboundAnswerCallsDay':_0x301643[_0x45dd('0x2c')],'outboundBlacklistCallsDay':_0x301643[_0x45dd('0x2d')],'outboundBusyCallsDay':_0x301643['outboundBusyCallsDay'],'outboundCongestionCallsDay':_0x301643['outboundCongestionCallsDay'],'outboundDropCallsDayACS':_0x301643[_0x45dd('0x2e')],'outboundDropCallsDayCallersExit':_0x301643['outboundDropCallsDayCallersExit'],'outboundDropCallsDayTimeout':_0x301643['outboundDropCallsDayTimeout'],'outboundNoAnswerCallsDay':_0x301643[_0x45dd('0x2f')],'outboundNoSuchCallsDay':_0x301643[_0x45dd('0x30')],'outboundOriginateFailureCallsDay':_0x301643[_0x45dd('0x31')],'outboundReCallsDay':_0x301643[_0x45dd('0x32')],'outboundRejectCallsDay':_0x301643[_0x45dd('0x33')],'outboundUnknownCallsDay':_0x301643[_0x45dd('0x34')],'outboundAbandonedCallsDay':_0x301643[_0x45dd('0x35')],'predictiveIntervalAnsweredCalls':_0x301643[_0x45dd('0x36')],'predictiveIntervalAvgHoldtime':_0x301643[_0x45dd('0x37')],'predictiveIntervalAvgTalktime':_0x301643[_0x45dd('0x38')],'predictiveIntervalDroppedCallsCallersExit':_0x301643[_0x45dd('0x39')],'predictiveIntervalDroppedCallsTimeout':_0x301643[_0x45dd('0x3a')],'predictiveIntervalErlangCalls':_0x301643['predictiveIntervalErlangCalls'],'predictiveIntervalErlangCallsDroppedCalls':_0x301643[_0x45dd('0x3b')],'predictiveIntervalHitRate':_0x301643[_0x45dd('0x3c')],'predictiveIntervalMultiplicativeFactor':_0x301643[_0x45dd('0x3d')],'predictiveIntervalPauses':_0x301643['predictiveIntervalPauses'],'predictiveIntervalAvailable':_0x301643[_0x45dd('0x3e')],'predictiveIntervalTotalCalls':_0x301643['predictiveIntervalTotalCalls'],'message':_0x301643[_0x45dd('0x3f')],'originated':_0x301643[_0x45dd('0x40')],'erlangCalls':_0x301643[_0x45dd('0x41')],'erlangCallToSecond':_0x301643[_0x45dd('0x42')],'erlangAbandonmentRate':_0x301643['erlangAbandonmentRate'],'erlangBusyFactor':_0x301643['erlangBusyFactor'],'startPredictive':_0x301643[_0x45dd('0x43')],'startProgressive':_0x301643[_0x45dd('0x44')]};if(_0x301643[_0x45dd('0x45')]){_0x4217eb['Trunk']={'id':_0x301643[_0x45dd('0x45')]['id'],'name':_0x301643['Trunk'][_0x45dd('0x20')],'active':_0x301643['Trunk'][_0x45dd('0x46')],'callerid':_0x301643['Trunk']['callerid']};}if(_0x301643['Interval']){_0x4217eb[_0x45dd('0x47')]={'id':_0x301643[_0x45dd('0x47')]['id'],'name':_0x301643[_0x45dd('0x47')][_0x45dd('0x20')]};}var _0x13c074=md5(JSON[_0x45dd('0x48')](_0x4217eb));if(_0x301643[_0x45dd('0x49')]!==_0x13c074){_0x301643[_0x45dd('0x49')]=_0x13c074;emit(util[_0x45dd('0x4a')](_0x45dd('0x4b'),_0x4217eb[_0x45dd('0x20')]),_0x45dd('0x4c'),_0x4217eb);}}}function emitVoiceQueueChannelRemove(_0x21f594){logger['info']('[DEBUG]\x20Emit\x20voice_queue_channel:remove\x20event',JSON[_0x45dd('0x48')](_0x21f594));emit(util['format'](_0x45dd('0x4b'),_0x21f594[_0x45dd('0x20')]),_0x45dd('0x4d'),_0x21f594);}function notSendMessagesQueue(_0x535aa1){if(_0x535aa1[_0x45dd('0x4e')]){if(_0x535aa1['originated']===0x0&&_0x535aa1['pTalking']===0x0){_0x535aa1[_0x45dd('0x4e')]=![];_0x535aa1[_0x45dd('0x4f')]=0x0;_0x535aa1[_0x45dd('0x50')]=0x0;_0x535aa1[_0x45dd('0x3f')]=_0x45dd('0x51');ut[_0x45dd('0x52')](_0x45dd('0x53'),_0x535aa1[_0x45dd('0x20')]+_0x45dd('0x54'));}else{_0x535aa1[_0x45dd('0x3f')]=_0x45dd('0x55');ut[_0x45dd('0x52')]('[CampaignPreview]\x20Campaign\x20Queue:\x20',_0x535aa1['name']+'\x20is\x20disactive');}emitCampaignPreview(_0x535aa1);}}Preview['prototype']['loopCampaigns']=function(){var _0x48656c=this;setInterval(function(){_0x48656c[_0x45dd('0x56')]();},0x7cf);};Preview[_0x45dd('0x9')][_0x45dd('0x56')]=function(){var _0x57530c=this[_0x45dd('0xd')];this['clockClearZombieChannels']+=0x1;for(var _0x498025 in _0x57530c){if(_0x57530c[_0x45dd('0x57')](_0x498025)&&(_0x57530c[_0x498025][_0x45dd('0x27')]==='preview'||_0x57530c[_0x498025][_0x45dd('0x27')]===_0x45dd('0x58'))&&_0x57530c[_0x498025][_0x45dd('0x59')]===_0x45dd('0x5a')){if(this[_0x45dd('0x5b')]>0x7){this[_0x45dd('0x5b')]=0x0;this[_0x45dd('0x5c')]();}}if(_0x57530c['hasOwnProperty'](_0x498025)&&_0x57530c[_0x498025][_0x45dd('0x27')]===_0x45dd('0x5d')&&_0x57530c[_0x498025][_0x45dd('0x59')]==='outbound'){if(_0x57530c[_0x498025]['dialActive']){this[_0x45dd('0x5e')](_0x57530c[_0x498025]);this['recallMe'](_0x57530c[_0x498025]);}else{notSendMessagesQueue(_0x57530c[_0x498025]);}}}};Preview[_0x45dd('0x9')][_0x45dd('0x5f')]=function(_0xaa24c7){var _0x305300=this;this[_0x45dd('0xc')][_0x45dd('0xa')](function(){if(!_[_0x45dd('0x60')](_0x305300['actions'][_0xaa24c7])){loggerAction[_0x45dd('0x61')](_0x45dd('0x62'),_0xaa24c7,_0x45dd('0x63'),_0x305300[_0x45dd('0x10')][_0xaa24c7][_0x45dd('0x64')],'originated:\x20',JSON[_0x45dd('0x48')](_0x305300['campaignsPreview'][_0x305300[_0x45dd('0x10')][_0xaa24c7][_0x45dd('0x64')]][_0x45dd('0x40')]),'pTalking:\x20',JSON[_0x45dd('0x48')](_0x305300[_0x45dd('0xd')][_0x305300[_0x45dd('0x10')][_0xaa24c7][_0x45dd('0x64')]][_0x45dd('0x65')]),JSON['stringify'](_0x305300[_0x45dd('0x10')][_0xaa24c7]['dialAnswer']),JSON[_0x45dd('0x48')](_[_0x45dd('0x66')](_0x305300['actions'][_0xaa24c7],[_0x45dd('0x67'),_0x45dd('0x68'),_0x45dd('0x69'),_0x45dd('0x6a')])));return ami[_0x45dd('0x6b')]({'action':_0x45dd('0x6c'),'channel':_0x305300['actions'][_0xaa24c7][_0x45dd('0x6d')]})[_0x45dd('0x6e')](function(_0x38feea){if(_0x38feea['message']==='No\x20such\x20channel'){setTimeout(function(){if(_0x305300[_0x45dd('0x10')][_0xaa24c7]){ut[_0x45dd('0x6f')](_0x305300[_0x45dd('0xd')][_0x305300[_0x45dd('0x10')][_0xaa24c7][_0x45dd('0x64')]],_0x45dd('0x70'));if(_0x305300[_0x45dd('0x10')][_0xaa24c7][_0x45dd('0x71')]===!![]){ut[_0x45dd('0x72')](_0x305300[_0x45dd('0xd')][_0x305300['actions'][_0xaa24c7][_0x45dd('0x64')]],_0x45dd('0x70'));ut[_0x45dd('0x73')](_0x45dd('0x74')+_0xaa24c7,_0x305300['actions'][_0xaa24c7][_0x45dd('0x64')]);}ut[_0x45dd('0x73')](_0x45dd('0x75')+_0xaa24c7,_0x305300[_0x45dd('0x10')][_0xaa24c7]['queue']);delete _0x305300[_0x45dd('0x10')][_0xaa24c7];}},0x2328);}});}});};Preview[_0x45dd('0x9')]['clearZombieChannels']=function(){var _0x41460e=this;loggerAction[_0x45dd('0x61')](_0x45dd('0x76'),_['size'](this[_0x45dd('0x10')]));for(var _0x421cb4 in this['actions']){if(_0x41460e[_0x45dd('0x10')][_0x45dd('0x57')](_0x421cb4)){_0x41460e[_0x45dd('0x5f')](_0x421cb4);}}};Preview[_0x45dd('0x9')][_0x45dd('0x77')]=function(_0x18c705){var _0x1d2cec=this;rpcDb[_0x45dd('0x78')](_0x18c705['id'],ut[_0x45dd('0x79')](this['agents']))['then'](function(_0x1cf331){if(!_[_0x45dd('0x60')](_0x1cf331)){for(var _0x416534=0x0;_0x416534<_0x1cf331[_0x45dd('0x7a')];_0x416534+=0x1){if(ut[_0x45dd('0x7b')](_0x1cf331[_0x416534]['scheduledat'])<_0x18c705[_0x45dd('0x7c')]*0x3c){if(_0x1cf331[_0x416534][_0x45dd('0x7d')]&&!_0x1cf331[_0x416534]['Agent'][_0x45dd('0x7e')]){_0x1d2cec[_0x45dd('0x7f')](_0x1cf331[_0x416534]['id'])['then'](ut[_0x45dd('0x80')](_0x45dd('0x81')))[_0x45dd('0x6e')](ut['logger2']('[RecallMe]'));}else{rpcDb['disableContact'](_0x1cf331[_0x416534]['id']);}}else{var _0x5a1de8=new Action(_0x1cf331[_0x416534],_0x18c705);_0x5a1de8[_0x45dd('0x82')]=moment()[_0x45dd('0x4a')](_0x45dd('0x83'));_0x18c705[_0x45dd('0x32')]+=0x1;ut['logCustomer'](_0x5a1de8,0x17,'RecallInQueue');if(_0x18c705[_0x45dd('0x84')]){rpcDb[_0x45dd('0x85')](ut[_0x45dd('0x86')](_0x1cf331[_0x416534]));rpcDb[_0x45dd('0x87')](_0x5a1de8,_0x45dd('0x88'));}else{ut[_0x45dd('0x89')](_0x5a1de8,0x16,_0x45dd('0x8a'));rpcDb[_0x45dd('0x87')](_0x5a1de8,'[HistoryRecallClose]');rpcDb[_0x45dd('0x8b')](_0x5a1de8,_0x45dd('0x8c'));}}}}})[_0x45dd('0x6e')](ut[_0x45dd('0x80')](_0x45dd('0x8d')));};Preview[_0x45dd('0x9')][_0x45dd('0x5e')]=function(_0x1bbe67){_0x1bbe67[_0x45dd('0x4e')]=!![];if(ut[_0x45dd('0x8e')](_0x1bbe67[_0x45dd('0x22')])){_0x1bbe67[_0x45dd('0x3f')]=_0x45dd('0x8f');}else if(!ut['isActive'](_0x1bbe67['dialActive'])){_0x1bbe67[_0x45dd('0x3f')]=_0x45dd('0x51');}else if(!this[_0x45dd('0x90')](_0x1bbe67[_0x45dd('0x45')])){if(!this[_0x45dd('0x90')](_0x1bbe67[_0x45dd('0x91')])){_0x1bbe67['message']=_0x45dd('0x92');}else{_0x1bbe67['message']=_0x45dd('0x93');}}else{_0x1bbe67[_0x45dd('0x3f')]=_0x45dd('0x93');}emitCampaignPreview(_0x1bbe67);};Preview[_0x45dd('0x9')]['callProgressDetectingCustomer']=function(_0x1ff3cc,_0x20d347,_0x32a509){var _0x836b13=this;var _0x24a014=this[_0x45dd('0x10')][_0x20d347];var _0xb0c978=this[_0x45dd('0xd')][_0x24a014[_0x45dd('0x64')]];var _0x3f9f5c;if(_0xb0c978){switch(_0x32a509){case'1':_0xb0c978['outboundNoSuchCallsDay']+=0x1;_0x24a014[_0x45dd('0x94')]+=0x1;_0x24a014['countglobal']=ut['totalGlobal'](_0x24a014);ut[_0x45dd('0x89')](_0x24a014,0x0,_0x45dd('0x95'));ami[_0x45dd('0x96')](_0x45dd('0x97'),ut[_0x45dd('0x98')](_0x24a014,_0x45dd('0x99')));rpcDb[_0x45dd('0x87')](_0x24a014,'[callProgressDetectingCustomer][logNoSuch]');if(ut[_0x45dd('0x9a')](_0x24a014)>=_0xb0c978[_0x45dd('0x9b')]){_0x3f9f5c=ut[_0x45dd('0x9c')](_0x24a014,0xf,_0x45dd('0x9d'));rpcDb[_0x45dd('0x8b')](_0x3f9f5c,_0x45dd('0x9e'));}else{if(_0x24a014[_0x45dd('0x94')]>=_0xb0c978[_0x45dd('0x9f')]){rpcDb[_0x45dd('0x8b')](_0x24a014,_0x45dd('0x9e'));}else{rpcDb[_0x45dd('0xa0')](ut['scheduledAt'](_0x24a014,_0x45dd('0x94'),_0xb0c978[_0x45dd('0xa1')]),_0x24a014[_0x45dd('0xa2')],_0x24a014[_0x45dd('0xa3')]);}}delete this[_0x45dd('0x10')][_0x1ff3cc[_0x45dd('0xa4')]];break;case _0x45dd('0xa5'):var _0x491eb4=moment()['format'](_0x45dd('0x83'));_0x24a014[_0x45dd('0xa6')]=_0x491eb4;_0x24a014[_0x45dd('0xa7')]=_0x491eb4;_0x24a014[_0x45dd('0x71')]=!![];_0xb0c978[_0x45dd('0x65')]+=0x1;logger[_0x45dd('0x61')]('[syncHangup][talking][increment]',_0x24a014['uniqueid'],'\x20Queue',_0xb0c978[_0x45dd('0x20')],_0x45dd('0xa8'),_0xb0c978[_0x45dd('0x65')]);ami[_0x45dd('0x96')]('custom:agentconnect',ut[_0x45dd('0x98')](_0x24a014,'connect'));if(_0xb0c978[_0x45dd('0xa9')]){ami[_0x45dd('0x96')](_0x45dd('0xaa'),ut['buildAcw'](_0x24a014));}break;case'16':ami[_0x45dd('0x96')](_0x45dd('0xab'),ut[_0x45dd('0x98')](_0x24a014,'complete'));emitVoiceQueueChannelRemove(ut[_0x45dd('0x98')](_0x24a014,_0x45dd('0xac')));_0xb0c978[_0x45dd('0x2c')]+=0x1;_0xb0c978['total']+=0x1;_0xb0c978[_0x45dd('0x21')]+=0x1;ut['decrementTalkink'](_0xb0c978,_0x45dd('0xad'));_0x24a014[_0x45dd('0xae')]=ut[_0x45dd('0x9a')](_0x24a014);ut[_0x45dd('0x89')](_0x24a014,0x4,_0x45dd('0xaf'));rpcDb['createCustomerHistory'](_0x24a014,'[callProgressDetectingCustomer][logAnswer]');rpcDb[_0x45dd('0x8b')](_0x24a014,_0x45dd('0xb0'));rpcDb[_0x45dd('0xb1')](_0x24a014);_0xb0c978[_0x45dd('0xb2')]+=_0x24a014[_0x45dd('0xb3')];_0xb0c978[_0x45dd('0xb4')]+=_0x24a014[_0x45dd('0xb3')];logger[_0x45dd('0x61')](_0x45dd('0xb5'),_0x24a014[_0x45dd('0xb6')],_0x45dd('0xb7'),_0xb0c978[_0x45dd('0x20')],'pTalking:\x20',_0xb0c978[_0x45dd('0x65')]);delete this[_0x45dd('0x10')][_0x1ff3cc[_0x45dd('0xa4')]];break;case'BUSY':_0xb0c978[_0x45dd('0xb8')]+=0x1;_0x24a014[_0x45dd('0xb9')]+=0x1;_0x24a014[_0x45dd('0xae')]=ut[_0x45dd('0x9a')](_0x24a014);ut[_0x45dd('0x89')](_0x24a014,0x5,_0x45dd('0xba'));ami[_0x45dd('0x96')](_0x45dd('0xbb'),ut[_0x45dd('0x98')](_0x24a014,_0x45dd('0xbc')));rpcDb[_0x45dd('0x87')](_0x24a014,'[callProgressDetectingCustomer][logBusy]');if(ut['totalGlobal'](_0x24a014)>=_0xb0c978[_0x45dd('0x9b')]){_0x3f9f5c=ut[_0x45dd('0x9c')](_0x24a014,0xf,_0x45dd('0x9d'));rpcDb[_0x45dd('0x8b')](_0x3f9f5c,_0x45dd('0xbd'));}else{if(_0x24a014['countbusyretry']>=_0xb0c978['dialBusyMaxRetry']){rpcDb['createCustomerFinal'](_0x24a014,_0x45dd('0xbe'));}else{rpcDb['rescheduleContact'](ut[_0x45dd('0xbf')](_0x24a014,'countbusyretry',_0xb0c978[_0x45dd('0xc0')]),_0x24a014[_0x45dd('0xa2')],_0x24a014[_0x45dd('0xa3')]);}}break;case _0x45dd('0xc1'):_0xb0c978['outboundNoAnswerCallsDay']+=0x1;_0x24a014[_0x45dd('0xc2')]+=0x1;_0x24a014['countglobal']=ut[_0x45dd('0x9a')](_0x24a014);ut['logCustomer'](_0x24a014,0x3,_0x45dd('0xc3'));ami[_0x45dd('0x96')](_0x45dd('0xc4'),ut[_0x45dd('0x98')](_0x24a014,'noanswer'));rpcDb[_0x45dd('0x87')](_0x24a014,_0x45dd('0xc5'));if(ut['totalGlobal'](_0x24a014)>=_0xb0c978['dialGlobalMaxRetry']){_0x3f9f5c=ut['cloneAction'](_0x24a014,0xf,_0x45dd('0x9d'));rpcDb[_0x45dd('0x8b')](_0x3f9f5c,_0x45dd('0xc6'));}else{if(_0x24a014[_0x45dd('0xc2')]>=_0xb0c978[_0x45dd('0xc7')]){rpcDb[_0x45dd('0x8b')](_0x24a014,_0x45dd('0xc5'));}else{rpcDb[_0x45dd('0xa0')](ut['scheduledAt'](_0x24a014,_0x45dd('0xc2'),_0xb0c978['dialNoAnswerRetryFrequency']),_0x24a014[_0x45dd('0xa2')],_0x24a014[_0x45dd('0xa3')]);}}break;case _0x45dd('0xc8'):_0xb0c978[_0x45dd('0xc9')]+=0x1;_0x24a014[_0x45dd('0xca')]+=0x1;_0x24a014[_0x45dd('0xae')]=ut[_0x45dd('0x9a')](_0x24a014);ut[_0x45dd('0x89')](_0x24a014,0x8,'Congestion');ami[_0x45dd('0x96')](_0x45dd('0xcb'),ut[_0x45dd('0x98')](_0x24a014,_0x45dd('0xcc')));rpcDb['createCustomerHistory'](_0x24a014,_0x45dd('0xcd'));if(ut[_0x45dd('0x9a')](_0x24a014)>=_0xb0c978['dialGlobalMaxRetry']){_0x3f9f5c=ut[_0x45dd('0x9c')](_0x24a014,0xf,_0x45dd('0x9d'));rpcDb[_0x45dd('0x8b')](_0x3f9f5c,_0x45dd('0xce'));}else{if(_0x24a014['countcongestionretry']>=_0xb0c978['dialCongestionMaxRetry']){rpcDb[_0x45dd('0x8b')](_0x24a014,_0x45dd('0xcd'));}else{rpcDb[_0x45dd('0xa0')](ut[_0x45dd('0xbf')](_0x24a014,'countcongestionretry',_0xb0c978[_0x45dd('0xc0')]),_0x24a014[_0x45dd('0xa2')],_0x24a014[_0x45dd('0xa3')]);}}break;case'CANCEL':_0xb0c978[_0x45dd('0x33')]+=0x1;_0x24a014[_0x45dd('0xcf')]+=0x1;_0x24a014[_0x45dd('0xae')]=ut['totalGlobal'](_0x24a014);ut[_0x45dd('0x89')](_0x24a014,0x14,'AgentReject');ami[_0x45dd('0x96')](_0x45dd('0xd0'),ut[_0x45dd('0x98')](_0x24a014,_0x45dd('0xd1')));rpcDb[_0x45dd('0x87')](_0x24a014,_0x45dd('0xd2'));if(ut[_0x45dd('0x9a')](_0x24a014)>=_0xb0c978[_0x45dd('0x9b')]){_0x3f9f5c=ut[_0x45dd('0x9c')](_0x24a014,0x14,'AgentReject');rpcDb[_0x45dd('0x8b')](_0x3f9f5c,_0x45dd('0xd3'));}else{if(_0x24a014[_0x45dd('0xcf')]>=_0xb0c978['dialAgentRejectMaxRetry']){rpcDb[_0x45dd('0x8b')](_0x24a014,_0x45dd('0xd3'));}else{rpcDb[_0x45dd('0xa0')](ut[_0x45dd('0xbf')](_0x24a014,_0x45dd('0xcf'),_0xb0c978[_0x45dd('0xd4')]),_0x24a014[_0x45dd('0xa2')],_0x24a014['activeContact']);}}break;case _0x45dd('0xd5'):_0xb0c978[_0x45dd('0x35')]+=0x1;_0x24a014[_0x45dd('0xd6')]+=0x1;_0x24a014[_0x45dd('0xae')]=ut['totalGlobal'](_0x24a014);ut[_0x45dd('0x89')](_0x24a014,0xb,_0x45dd('0xd7'));rpcDb[_0x45dd('0x87')](_0x24a014,_0x45dd('0xd8'));if(ut[_0x45dd('0x9a')](_0x24a014)>=_0xb0c978[_0x45dd('0x9b')]){_0x3f9f5c=ut['cloneAction'](_0x24a014,0xf,_0x45dd('0x9d'));rpcDb[_0x45dd('0x8b')](_0x3f9f5c,_0x45dd('0xd8'));}else{if(_0x24a014[_0x45dd('0xd9')]>=_0xb0c978[_0x45dd('0xda')]){rpcDb[_0x45dd('0x8b')](_0x24a014,_0x45dd('0xd8'));}else{rpcDb['rescheduleContact'](ut[_0x45dd('0xbf')](_0x24a014,_0x45dd('0xd6'),_0xb0c978[_0x45dd('0xdb')]),_0x24a014[_0x45dd('0xa2')],_0x24a014[_0x45dd('0xa3')]);}}break;default:if(_0x24a014[_0x45dd('0x71')]){ut[_0x45dd('0x72')](_0xb0c978,_0x45dd('0xdc'));ut[_0x45dd('0x73')](_0x45dd('0xdd')+_0xb0c978['name'],_0x1ff3cc);}_0xb0c978[_0x45dd('0x34')]+=0x1;_0x24a014['countglobal']=ut[_0x45dd('0x9a')](_0x24a014);ut[_0x45dd('0x89')](_0x24a014,0xc,_0x1ff3cc['cause-txt']||_0x1ff3cc[_0x45dd('0xde')]);rpcDb[_0x45dd('0x87')](_0x24a014,_0x45dd('0xdf'));if(ut[_0x45dd('0x9a')](_0x24a014)>=_0xb0c978['dialGlobalMaxRetry']){_0x3f9f5c=ut['cloneAction'](_0x24a014,0xf,'Global');rpcDb['createCustomerFinal'](_0x3f9f5c,_0x45dd('0xe0'));}else{rpcDb['createCustomerFinal'](_0x24a014,_0x45dd('0xe0'));}delete this[_0x45dd('0x10')][_0x1ff3cc['linkedid']];}if(!(_0x24a014[_0x45dd('0x71')]&&_0x32a509==='16')){ut[_0x45dd('0x6f')](_0xb0c978,'[callProgressDetectingCustomer]');logger[_0x45dd('0x61')](_0x45dd('0xe1'),_0x24a014['uniqueid'],_0x45dd('0xb7'),_0xb0c978[_0x45dd('0x20')],_0x45dd('0xe2'),_0xb0c978[_0x45dd('0x40')]);}if(_0x32a509!=='ANSWER'){delete this['actions'][_0x1ff3cc[_0x45dd('0xa4')]];delete this['actions'][_0x1ff3cc[_0x45dd('0xe3')]];}}};Preview['prototype'][_0x45dd('0xe4')]=function(_0x1158e1,_0x1c73cb,_0x84c99d){if(_[_0x45dd('0xe5')](_0x1c73cb)&&_0x45dd('0xe6')!==typeof _0x1c73cb){return;}if(_[_0x45dd('0xe5')](_0x84c99d)&&_0x45dd('0xe6')!==typeof _0x84c99d){return;}switch(_0x84c99d[_0x45dd('0xe7')]){case'0':ut[_0x45dd('0xe8')](_0x1158e1,0x0,_0x45dd('0x95'));rpcDb[_0x45dd('0xe9')](_0x1158e1,_0x45dd('0xea'));break;case'3':ut[_0x45dd('0xe8')](_0x1158e1,0x3,'NoAnswer');rpcDb['createAgentHistory'](_0x1158e1,_0x45dd('0xeb'));break;case'5':ut[_0x45dd('0xe8')](_0x1158e1,0x5,_0x45dd('0xba'));rpcDb[_0x45dd('0xe9')](_0x1158e1,_0x45dd('0xec'));break;case'8':ut[_0x45dd('0xe8')](_0x1158e1,0x8,_0x45dd('0xed'));rpcDb[_0x45dd('0xe9')](_0x1158e1,_0x45dd('0xee'));break;case'22':ut[_0x45dd('0xe8')](_0x1158e1,0x16,_0x45dd('0xef'));rpcDb[_0x45dd('0xe9')](_0x1158e1,_0x45dd('0xf0'));break;default:ut[_0x45dd('0xe8')](_0x1158e1,0xc,_0x84c99d[_0x45dd('0xe7')]);rpcDb[_0x45dd('0xe9')](_0x1158e1,_0x45dd('0xee'));}ut[_0x45dd('0x6f')](_0x1c73cb,'[callProgressDetectingAgent]');logger['info']('[originated][decrement][callProgressDetectingAgent]',_0x1158e1[_0x45dd('0xb6')],'\x20Queue',_0x1c73cb[_0x45dd('0x20')],_0x45dd('0xe2'),_0x1c73cb['originated']);delete this[_0x45dd('0x10')][_0x1158e1[_0x45dd('0xb6')]];};Preview[_0x45dd('0x9')][_0x45dd('0xf1')]=function(_0x262e0c,_0x4e9421,_0x1b801d,_0x5792ec,_0x2af238){var _0x1d14ba=this;return new BPromise(function(_0x5c7eaf,_0x4bc5c8){if(_['isNil'](_0x4e9421)||_[_0x45dd('0x60')](_0x4e9421[_0x45dd('0xf2')])||_[_0x45dd('0x60')](_0x4e9421[_0x45dd('0xf2')][_0x45dd('0xf3')])||_[_0x45dd('0x60')](_0x4e9421['VoiceQueueId'])){_0x4bc5c8(ut[_0x45dd('0x3f')](_0x45dd('0xf4'),_0x5792ec,_0x2af238));return;}var _0x589da4=uuid['v4']();var _0x192f62=_0x1d14ba[_0x45dd('0xd')][_0x4e9421['Queue'][_0x45dd('0x20')]];var _0xb7bae4=_0x1b801d?_0x1d14ba[_0x45dd('0x11')][_0x1b801d]['id']:undefined;_0x1d14ba[_0x45dd('0x10')][_0x589da4]=new Action(_0x4e9421,_0x192f62,_0x589da4,_0x1b801d,_0xb7bae4);var _0x4eba92=_0x1d14ba[_0x45dd('0x10')][_0x589da4];_0x4eba92[_0x45dd('0xa2')]=_0x5792ec;_0x4eba92[_0x45dd('0xa3')]=_0x2af238;_0x4eba92['lookAgent']=_0x1b801d;if(_[_0x45dd('0xf5')](_0x262e0c)){_0x1d14ba[_0x45dd('0xf6')](_0x4eba92,_0x192f62,_0x4e9421,_0x1b801d)[_0x45dd('0xf7')](function(_0x132ee0){logger['info'](_0x45dd('0xf8'),_0x45dd('0xf9')+_0x4eba92[_0x45dd('0x64')]+'\x20IdHopper:\x20'+_0x4eba92['idContact'],JSON[_0x45dd('0x48')](_0x132ee0));ami[_0x45dd('0x96')](_0x45dd('0xfa'),ut[_0x45dd('0x98')](_0x4eba92,_0x45dd('0xfb')));_0x5c7eaf(ut['message']('Calling'));})[_0x45dd('0x6e')](function(_0x46f24e){ut[_0x45dd('0x52')](_0x45dd('0xfc'),_0x46f24e);_0x4bc5c8(ut[_0x45dd('0x3f')]('Call\x20failed',_0x5792ec,_0x2af238));});}else{_0x192f62['outboundBlacklistCallsDay']+=0x1;ut[_0x45dd('0xfd')](_0x4eba92);rpcDb[_0x45dd('0xfe')](_0x4eba92,_0x45dd('0xff'));delete _0x1d14ba[_0x45dd('0x10')][_0x589da4];_0x4bc5c8(ut[_0x45dd('0x3f')](_0x45dd('0x100'),_0x5792ec,_0x2af238));}});};Preview[_0x45dd('0x9')][_0x45dd('0x90')]=function(_0x49c2dd){return!_['isNil'](_0x49c2dd)&&!_[_0x45dd('0x60')](_0x49c2dd['name'])&&!_[_0x45dd('0x60')](_0x49c2dd['active'])&&_0x49c2dd[_0x45dd('0x46')]&&!_['isNil'](this[_0x45dd('0xf')][util[_0x45dd('0x4a')](_0x45dd('0x101'),_0x49c2dd[_0x45dd('0x20')])])&&!_[_0x45dd('0x60')](this[_0x45dd('0xf')][util[_0x45dd('0x4a')](_0x45dd('0x101'),_0x49c2dd[_0x45dd('0x20')])][_0x45dd('0x6c')])&&(this[_0x45dd('0xf')][util['format']('SIP/%s',_0x49c2dd[_0x45dd('0x20')])][_0x45dd('0x6c')]===_0x45dd('0x102')||this[_0x45dd('0xf')][util[_0x45dd('0x4a')]('SIP/%s',_0x49c2dd[_0x45dd('0x20')])][_0x45dd('0x6c')]===_0x45dd('0x103'));};Preview[_0x45dd('0x9')]['run']=function(_0x5c624e,_0x51219d){var _0x1040dd=this;return new BPromise(function(_0x2cea38,_0x14941e){_0x1040dd['execRun'](_0x5c624e,_0x51219d)[_0x45dd('0xf7')](function(_0x48fe95){_0x2cea38(_[_0x45dd('0x66')](_0x48fe95,[_0x45dd('0x3f')]));})[_0x45dd('0x6e')](function(_0x5870aa){if(_0x5870aa[_0x45dd('0x104')]){rpcDb[_0x45dd('0x105')](_0x5c624e);}if(_0x5870aa['active']){rpcDb[_0x45dd('0x106')](_0x5c624e);}_0x14941e(_['pick'](_0x5870aa,[_0x45dd('0x3f')]));});});};Preview[_0x45dd('0x9')][_0x45dd('0x107')]=function(_0x247681,_0x4db1ce){var _0x57e25b=this;return new BPromise(function(_0x48b35d,_0x2d14dd){var _0x4b784e,_0x45f63f;rpcDb[_0x45dd('0x108')](_0x247681)['then'](function(_0x5e6d2d){if(!_[_0x45dd('0x60')](_0x5e6d2d[0x0])){_0x45f63f=_0x5e6d2d[0x0][_0x45dd('0x109')]?![]:!![];_0x4b784e=_0x5e6d2d[0x0][_0x45dd('0x109')]?!![]:![];_0x4b784e=_0x4db1ce?!![]:_0x4b784e;}var _0x26b66e=_0x57e25b[_0x45dd('0x10a')](_0x5e6d2d);if(_0x26b66e[_0x45dd('0x10b')]){rpcDb[_0x45dd('0x10c')](_[_0x45dd('0x66')](_0x5e6d2d[0x0],[_0x45dd('0x69'),_0x45dd('0x10d')]))[_0x45dd('0xf7')](function(_0x40ee98){_0x57e25b[_0x45dd('0xf1')](_0x40ee98,_0x5e6d2d[0x0],_0x4db1ce,_0x45f63f,_0x4b784e)[_0x45dd('0xf7')](function(_0x4dab1a){_0x48b35d(_0x4dab1a);})['catch'](function(_0x1ac087){_0x2d14dd(_0x1ac087);});})[_0x45dd('0x6e')](function(_0x3f23ee){ut[_0x45dd('0x52')](_0x45dd('0x10e'),_0x3f23ee);_0x2d14dd(ut['message'](_0x45dd('0x10f'),_0x45f63f,_0x4b784e));});}else{_0x2d14dd(ut[_0x45dd('0x3f')](_0x26b66e[_0x45dd('0x3f')],_0x45f63f,_0x4b784e));}})[_0x45dd('0x6e')](function(_0x2769bb){ut[_0x45dd('0x52')](_0x45dd('0x110'),_0x2769bb);_0x2d14dd(ut[_0x45dd('0x3f')](_0x45dd('0x10f'),![],!![]));});});};Preview[_0x45dd('0x9')]['validateContact']=function(_0x593024){if(_[_0x45dd('0x60')](_0x593024)||_[_0x45dd('0xf5')](_0x593024)||!_[_0x45dd('0x60')](_0x593024[0x0]['Agent'])&&_[_0x45dd('0x60')](_0x593024[0x0][_0x45dd('0x7d')][_0x45dd('0x20')])){ut[_0x45dd('0x52')](_0x45dd('0x111'),_0x593024);return{'isValid':![],'message':_0x45dd('0x112')};}var _0x40e1eb=this[_0x45dd('0xd')][_0x593024[0x0][_0x45dd('0x63')][_0x45dd('0x20')]];_0x40e1eb[_0x45dd('0x3f')]='ACTIVE';if(_['isNil'](_0x40e1eb)){ut['logger']('[Preview][validateContact][Empty\x20Campaign]',_0x40e1eb);return{'isValid':![],'message':_0x45dd('0x113')};}if(!this[_0x45dd('0x90')](_0x40e1eb[_0x45dd('0x45')])){ut[_0x45dd('0x52')](_0x45dd('0x114'),_0x45dd('0x115')+_0x40e1eb[_0x45dd('0x20')]+'\x20Trunk\x20is\x20not\x20active');if(!this[_0x45dd('0x90')](_0x40e1eb[_0x45dd('0x91')])){ut[_0x45dd('0x52')](_0x45dd('0x114'),_0x40e1eb['name']+_0x45dd('0x116'));return{'isValid':![],'message':_0x45dd('0x117')};}}if(!ut[_0x45dd('0x118')](_0x40e1eb[_0x45dd('0x119')])){ut['logger'](_0x45dd('0x11a'),_0x40e1eb['name']+_0x45dd('0x11b'));return{'isValid':![],'message':_0x45dd('0x115')+_0x40e1eb[_0x45dd('0x20')]+_0x45dd('0x11b')};}return{'isValid':!![],'message':_0x45dd('0x11c')};};Preview['prototype']['execCall']=function(_0x2720b5,_0x5586c0,_0x249a3f,_0x9bf88b){var _0x2ecd5b=this;return new BPromise(function(_0xcb9fd5,_0x557357){var _0x422b2a=_0x2720b5[_0x45dd('0xb6')];var _0x499eb7=_0x2ecd5b[_0x45dd('0x90')](_0x5586c0[_0x45dd('0x45')])?util[_0x45dd('0x4a')](_0x45dd('0x11d'),_0x5586c0[_0x45dd('0x45')][_0x45dd('0x20')],_['isNil'](_0x5586c0['dialPrefix'])?'':_0x5586c0['dialPrefix']['trim']()||'',_0x5586c0[_0x45dd('0x11e')]>0x0?_0x249a3f[_0x45dd('0xf2')][_0x45dd('0xf3')][_0x45dd('0x11f')](_0x5586c0[_0x45dd('0x11e')]):_0x249a3f['Contact']['phone']):util['format']('SIP/%s/%s%s',_['isNil'](_0x5586c0['TrunkBackup'])?_0x5586c0[_0x45dd('0x45')][_0x45dd('0x20')]:_0x5586c0[_0x45dd('0x91')][_0x45dd('0x20')],_['isNil'](_0x5586c0['dialPrefix'])?'':_0x5586c0[_0x45dd('0x2a')][_0x45dd('0x120')]()||'',_0x5586c0[_0x45dd('0x11e')]>0x0?_0x249a3f[_0x45dd('0xf2')]['phone'][_0x45dd('0x11f')](_0x5586c0[_0x45dd('0x11e')]):_0x249a3f['Contact'][_0x45dd('0xf3')]);var _0x5047f1=_0x2ecd5b['isTrunkReachable'](_0x5586c0[_0x45dd('0x45')])?ut['getCallerId'](_0x5586c0[_0x45dd('0x45')]['callerid'],_0x5586c0[_0x45dd('0x121')],_0x5586c0[_0x45dd('0x122')]>0x0?ut['getCallerIdRandom'](_0x5586c0['dialOriginateCallerIdNumber'],_0x5586c0['dialRandomLastDigitCallerIdNumber']):_0x5586c0['dialOriginateCallerIdNumber']):ut[_0x45dd('0x123')](_[_0x45dd('0x60')](_0x5586c0[_0x45dd('0x91')])?_0x5586c0[_0x45dd('0x45')][_0x45dd('0x124')]:_0x5586c0[_0x45dd('0x91')][_0x45dd('0x124')],_0x5586c0['dialOriginateCallerIdName'],_0x5586c0[_0x45dd('0x122')]>0x0?ut[_0x45dd('0x125')](_0x5586c0[_0x45dd('0x28')],_0x5586c0[_0x45dd('0x122')]):_0x5586c0[_0x45dd('0x28')]);if(_0x5047f1){_0x2720b5[_0x45dd('0x126')]=ut['extractCalleridName'](_0x5047f1);_0x2720b5[_0x45dd('0x127')]=ut['extractCalleridNumber'](_0x5047f1);}var _0x7228f8=ut[_0x45dd('0x128')](_0x5586c0,_0x249a3f,_0x499eb7,_0x5047f1,_0x422b2a,_0x2720b5);_['merge'](_0x2720b5,ut[_0x45dd('0x129')](_0x7228f8));_0x2720b5[_0x45dd('0x82')]=moment()[_0x45dd('0x4a')]('YYYY-MM-DD\x20HH:mm:ss');ami[_0x45dd('0x6b')](ut['variablesAction'](_0x2720b5,_0x5586c0,_0x7228f8,_0x2720b5[_0x45dd('0xa3')],_0x9bf88b))[_0x45dd('0xf7')](function(_0x10acaf){_0x5586c0[_0x45dd('0x40')]+=0x1;logger['info'](_0x45dd('0x12a'),_0x422b2a,_0x45dd('0xb7'),_0x5586c0[_0x45dd('0x20')],_0x45dd('0xe2'),_0x5586c0[_0x45dd('0x40')]);_0xcb9fd5(_0x10acaf);})['catch'](function(_0x526508){ut[_0x45dd('0xe8')](_0x2720b5,0xe,_0x45dd('0x12b'));rpcDb[_0x45dd('0xe9')](_0x2720b5,_0x45dd('0x12c'));_0x557357(_0x526508);});});};Preview[_0x45dd('0x9')][_0x45dd('0x12d')]=function(_0x14058a){if(this[_0x45dd('0x10')][_0x14058a[_0x45dd('0xa4')]]){this['actions'][_0x14058a['linkedid']]['channel']=_0x14058a[_0x45dd('0x6d')];}};Preview[_0x45dd('0x9')][_0x45dd('0x13')]=function(_0x518e3f){var _0x1670ed=this;var _0x1678cd=this['actions'][_0x518e3f[_0x45dd('0x12e')]];if(_0x1678cd){if(_0x1678cd[_0x45dd('0x12f')]&&this[_0x45dd('0x11')][_0x1678cd['lookAgent']]){ut['logLookAgent'](_0x1678cd,this[_0x45dd('0x11')][_0x1678cd['lookAgent']][_0x45dd('0x20')],this[_0x45dd('0x11')][_0x1678cd[_0x45dd('0x12f')]]['id']);}var _0x335f06=_[_0x45dd('0x130')](_0x1678cd);_0x335f06['responsetime']=moment()[_0x45dd('0x4a')]('YYYY-MM-DD\x20HH:mm:ss');var _0x16fb2b=_0x1670ed['campaignsPreview'][_0x1678cd[_0x45dd('0x64')]];if(ut['isFailure'](_0x518e3f[_0x45dd('0x131')])){if(_0x1678cd[_0x45dd('0xa2')]){rpcDb[_0x45dd('0x105')](_0x1678cd[_0x45dd('0x132')]);}if(_0x1678cd[_0x45dd('0xa3')]){rpcDb[_0x45dd('0x106')](_0x1678cd[_0x45dd('0x132')]);}ami[_0x45dd('0x96')](_0x45dd('0x133'),ut['buildObj'](_0x1678cd,_0x45dd('0x134')));this[_0x45dd('0xe4')](_0x335f06,_0x16fb2b,_0x518e3f);}else{_0x1678cd['starttime']=moment()[_0x45dd('0x4a')](_0x45dd('0x83'));ut['logAgent'](_0x335f06,0x4,'Answer');rpcDb['createAgentHistory'](_0x335f06,_0x45dd('0x135'));}}};Preview[_0x45dd('0x9')][_0x45dd('0x16')]=function(_0x43ced1){var _0x5056ab=this;var _0xc63dac=this['actions'][_0x43ced1[_0x45dd('0xa4')]];var _0xa474ed;if(_0xc63dac){_0xa474ed=this[_0x45dd('0xd')][_0xc63dac[_0x45dd('0x64')]];logger[_0x45dd('0x61')](_0x45dd('0x136'),_0x43ced1['linkedid'],_0x45dd('0xb7'),_0xa474ed[_0x45dd('0x20')],_0x45dd('0xa8'),_0xa474ed['pTalking']);}if(this[_0x45dd('0x10')][_0x43ced1[_0x45dd('0xa4')]]&&_0x43ced1['linkedid']!==_0x43ced1[_0x45dd('0xb6')]){if(_0x43ced1['cause']==='16'&&this['actions'][_0x43ced1[_0x45dd('0xa4')]][_0x45dd('0x71')]){this[_0x45dd('0x137')](_0x43ced1,_0x43ced1['linkedid'],_0x43ced1['cause']);}else if(this[_0x45dd('0x10')][_0x43ced1[_0x45dd('0xa4')]][_0x45dd('0x71')]){logger[_0x45dd('0x61')](_0x45dd('0x138'),_0x43ced1[_0x45dd('0xa4')],_0x43ced1[_0x45dd('0x139')],_0x45dd('0xb7'),_0xa474ed[_0x45dd('0x20')],_0x45dd('0xa8'),_0xa474ed[_0x45dd('0x65')]);this[_0x45dd('0x137')](_0x43ced1,_0x43ced1[_0x45dd('0xa4')],_0x43ced1[_0x45dd('0x139')]);}}else if(_0xc63dac&&_['isNil'](_0xc63dac[_0x45dd('0x13a')])&&_0xa474ed[_0x45dd('0x13b')]&&_0x43ced1['linkedid']===_0x43ced1['uniqueid']&&_[_0x45dd('0x60')](_0x43ced1['reason'])&&_0x43ced1['cause']==='16'&&_0x43ced1['channelstate']==='6'&&_[_0x45dd('0xe5')](_0xc63dac[_0x45dd('0x13c')])){if(_0xc63dac[_0x45dd('0xa2')]){rpcDb[_0x45dd('0x105')](_0xc63dac[_0x45dd('0x132')]);}if(_0xc63dac[_0x45dd('0xa3')]){rpcDb[_0x45dd('0x106')](_0xc63dac['idContact']);}_0x43ced1[_0x45dd('0xe7')]='22';this[_0x45dd('0xe4')](_0xc63dac,_0xa474ed,_0x43ced1);}else if(_0xc63dac&&_0xc63dac[_0x45dd('0x13c')]){if(_0x43ced1['cause']==='16'&&this[_0x45dd('0x10')][_0x43ced1[_0x45dd('0xa4')]][_0x45dd('0x71')]){logger[_0x45dd('0x61')]('[syncHangup][talking][transfer]',_0x43ced1[_0x45dd('0xa4')],_0x43ced1[_0x45dd('0x139')],'\x20Queue',_0xa474ed[_0x45dd('0x20')],_0x45dd('0xa8'),_0xa474ed['pTalking']);this['callProgressDetectingCustomer'](_0x43ced1,_0x43ced1['linkedid'],_0x43ced1[_0x45dd('0x139')]);}else if(this[_0x45dd('0x10')][_0x43ced1[_0x45dd('0xa4')]]['dialAnswer']){logger['info'](_0x45dd('0x138'),_0x43ced1['linkedid'],_0x43ced1[_0x45dd('0x139')],_0x45dd('0xb7'),_0xa474ed[_0x45dd('0x20')],'pTalking:\x20',_0xa474ed['pTalking']);this[_0x45dd('0x137')](_0x43ced1,_0x43ced1[_0x45dd('0xa4')],_0x43ced1[_0x45dd('0x139')]);}}};Preview[_0x45dd('0x9')][_0x45dd('0x1a')]=function(_0x163841){if(this[_0x45dd('0x10')][_0x163841[_0x45dd('0xe3')]]&&_0x163841['destlinkedid']!==_0x163841[_0x45dd('0x13d')]){this[_0x45dd('0x137')](_0x163841,_0x163841[_0x45dd('0xe3')],_0x163841[_0x45dd('0xde')]);}};Preview[_0x45dd('0x9')][_0x45dd('0x18')]=function(_0x380764){if(this[_0x45dd('0x10')][_0x380764[_0x45dd('0xa4')]]&&_0x380764[_0x45dd('0xa4')]!==_0x380764[_0x45dd('0xb6')]&&!this[_0x45dd('0x10')][_0x380764[_0x45dd('0xa4')]][_0x45dd('0x71')]){if(_0x380764[_0x45dd('0x139')]==='1'){this[_0x45dd('0x137')](_0x380764,_0x380764[_0x45dd('0xa4')],_0x380764[_0x45dd('0x139')]);}}};Preview[_0x45dd('0x9')][_0x45dd('0x13e')]=function(_0x5c4eac,_0x40c9ff,_0x2887f2){if(this[_0x45dd('0x10')][_0x5c4eac]){if(_[_0x45dd('0x60')](this[_0x45dd('0x10')][_0x5c4eac][_0x45dd('0x13f')])){this['actions'][_0x5c4eac]['variables']={};}this['actions'][_0x5c4eac][_0x45dd('0x13f')][_0x40c9ff]=_0x2887f2;}};Preview[_0x45dd('0x9')][_0x45dd('0x1d')]=function(_0x10b958){try{if(!_['isNil'](_0x10b958)){if(ut[_0x45dd('0x140')](_[_0x45dd('0x141')](_0x10b958[_0x45dd('0x142')])[0x0])){this[_0x45dd('0x13e')](_0x10b958[_0x45dd('0xb6')],_[_0x45dd('0x141')](_0x10b958[_0x45dd('0x142')])[0x0],_0x10b958[_0x45dd('0x143')]);}}}catch(_0x3f91b8){logger['error'](_0x45dd('0x144'),util[_0x45dd('0x145')](_0x3f91b8,{'showHidden':![],'depth':null}));}};Preview[_0x45dd('0x9')][_0x45dd('0x146')]=function(_0x23f260){if(_0x23f260){if(this[_0x45dd('0x10')][_0x23f260[_0x45dd('0x147')]]){this[_0x45dd('0x10')][_0x23f260['transfertargetlinkedid']][_0x45dd('0x13c')]=!![];}}};Preview[_0x45dd('0x9')][_0x45dd('0x1f')]=function(_0x1495cf){if(_0x1495cf){if(this['actions'][_0x1495cf['transfererlinkedid']]){this[_0x45dd('0x10')][_0x1495cf[_0x45dd('0x148')]][_0x45dd('0x13c')]=!![];}}};module[_0x45dd('0x149')]=Preview;