0767cc7979e2d57b07b734420847efa21f6cf403
[motion2.git] / server / services / ami / server / 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 _0x4f47=['MixMonitor\x20Success','toLowerCase','Channel\x20doesn\x27t\x20exist','map','StopMixMonitor','destinationchannel','status','stop','StopMixMonitor\x20Success','queueChannels','Hangup','voicequeuechannelredirect','context','telephones','trunks','outboundChannels','campaigns','Event\x20name\x20mandatory','emit','custom:','event','faxAccounts','send','checkAfterSend','server','http','127.0.0.1','log','RPC\x20listening\x20on\x20port:','lodash','util','jayson/promise','validate','bluebird','moment','../../../config/environment','../ami','listen','%s/%s','SIP','name','timers','timer','updateAcw','agents','updateStatusRealtime','pause','isConnected','error','asterisk','ami\x20disconnected','join','pick','keys','module','action','Action','then','message','username','command','Command','content','catch','voiceQueues','strategy','sumBillable','sumDuration','total','type','unmanaged','waiting','loggedInDb','outbound','dialActive','dialMethod','dialOriginateCallerIdName','dialOriginateCallerIdNumber','dialOriginateTimeout','dialPrefix','outboundAnswerAgiCallsDay','outboundAnswerCallsDay','outboundBlacklistCallsDay','outboundCongestionCallsDay','outboundDropCallsDayCallersExit','outboundDropCallsDayTimeout','outboundNoAnswerCallsDay','outboundNoSuchCallsDay','outboundOriginateFailureCallsDay','outboundReCallsDay','outboundRejectCallsDay','outboundUnknownCallsDay','predictiveIntervalAnsweredCalls','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','predictiveIntervalDroppedCallsCallersExit','predictiveIntervalDroppedCallsTimeout','predictiveIntervalErlangCalls','predictiveIntervalErlangCallsDroppedCalls','predictiveIntervalHitRate','predictiveIntervalMultiplicativeFactor','predictiveIntervalPauses','predictiveIntervalAvailable','predictiveIntervalTotalCalls','originated','erlangCalls','erlangCallToSecond','erlangAbandonmentRate','erlangBusyFactor','startPredictive','startProgressive','Trunk','active','callerid','Interval','push','values','channels','voicechannel','length','find','uniqueid','channel','format','filename','MixMonitor','monitors','isNil','/var/spool/asterisk/monitor/','YYYY-MM-DD\x20HH:mm:ss','mixmonitorid','rec'];(function(_0x4fa25f,_0x15464a){var _0x461e2b=function(_0x2bbeaa){while(--_0x2bbeaa){_0x4fa25f['push'](_0x4fa25f['shift']());}};_0x461e2b(++_0x15464a);}(_0x4f47,0x1a9));var _0x74f4=function(_0x44dfe6,_0x15b724){_0x44dfe6=_0x44dfe6-0x0;var _0x3ee733=_0x4f47[_0x44dfe6];return _0x3ee733;};'use strict';var _=require(_0x74f4('0x0'));var util=require(_0x74f4('0x1'));var jayson=require(_0x74f4('0x2'));var schema=require(_0x74f4('0x3'));var BPromise=require(_0x74f4('0x4'));var moment=require(_0x74f4('0x5'));var config=require(_0x74f4('0x6'));var properties=require('../properties');var ami=require(_0x74f4('0x7'));exports[_0x74f4('0x8')]=function(_0x4a4b51,_0x9697ca,_0x40ef8d){return new BPromise(function(_0x4a4ff0,_0x15379a){var _0x55b834={'QueuePause':function(_0x4c8c44){return new Promise(function(_0x47b374,_0x57401f){var _0x19879f=util['format'](_0x74f4('0x9'),_0x74f4('0xa'),_0x4c8c44[_0x74f4('0xb')]);if(_0x4a4b51[_0x74f4('0xc')]&&_0x4a4b51['timers'][_0x19879f]&&_0x4a4b51[_0x74f4('0xc')][_0x19879f][_0x74f4('0xd')]){_0x4a4b51[_0x74f4('0xc')][_0x19879f][_0x74f4('0xe')]();}if(_0x4a4b51[_0x74f4('0xf')][_0x19879f]){_0x4a4b51[_0x74f4('0xf')][_0x19879f][_0x74f4('0x10')]({'statePause':_0x4c8c44[_0x74f4('0x11')]?!![]:![]});}_0x47b374({'code':0xc8,'message':'QueuePause'});});},'Reload':function(_0x4516cf){var _0x32831b=this;return new Promise(function(_0x1e76e2,_0x180b35){if(ami[_0x74f4('0x12')]()==![]){return _0x180b35(_0x32831b[_0x74f4('0x13')](0x1f4,[config[_0x74f4('0x14')]['ip'],config[_0x74f4('0x14')]['username'],_0x74f4('0x15')][_0x74f4('0x16')]('\x20')));}_0x4516cf=_[_0x74f4('0x17')](_0x4516cf,_[_0x74f4('0x18')](properties[_0x74f4('0x19')]));_0x4516cf[_0x74f4('0x1a')]='Reload';return ami[_0x74f4('0x1b')](_0x4516cf)[_0x74f4('0x1c')](function(_0x5b71ee){_0x1e76e2({'code':0xc8,'message':_0x5b71ee[_0x74f4('0x1d')]});})['catch'](function(_0x174cdf){_0x180b35(_0x32831b['error'](0x1f5,_0x174cdf[_0x74f4('0x1d')]));});});},'Command':function(_0x4d44e6){var _0x474977=this;return new Promise(function(_0x4ede14,_0x586f23){if(ami['isConnected']()==![]){return _0x586f23(_0x474977[_0x74f4('0x13')](0x1f4,[config['asterisk']['ip'],config[_0x74f4('0x14')][_0x74f4('0x1e')],'ami\x20disconnected']['join']('\x20')));}_0x4d44e6=_[_0x74f4('0x17')](_0x4d44e6,_0x74f4('0x1f'));_0x4d44e6['action']=_0x74f4('0x20');return ami[_0x74f4('0x1b')](_0x4d44e6)[_0x74f4('0x1c')](function(_0x39d0dd){_0x4ede14({'code':0xc8,'message':_0x39d0dd[_0x74f4('0x21')]});})[_0x74f4('0x22')](function(_0x97f87c){_0x586f23(_0x474977['error'](0x1f5,_0x97f87c['message']));});});},'VoiceQueues':function(_0x1f539a){return new Promise(function(_0x5bb549,_0x55d05f){var _0x1ea6a3=[];for(var _0x24f703 in _0x4a4b51[_0x74f4('0x23')]){if(_0x4a4b51[_0x74f4('0x23')]['hasOwnProperty'](_0x24f703)){var _0x148302=_0x4a4b51[_0x74f4('0x23')][_0x24f703];var _0x1a7207={'id':_0x148302['id'],'name':_0x148302[_0x74f4('0xb')],'strategy':_0x148302[_0x74f4('0x24')],'answered':_0x148302['answered'],'available':_0x148302['available'],'loggedIn':_0x148302['loggedIn'],'pTalking':_0x148302['pTalking'],'sumBillable':_0x148302[_0x74f4('0x25')],'sumDuration':_0x148302[_0x74f4('0x26')],'sumHoldTime':_0x148302['sumHoldTime']||0x0,'talking':_0x148302['talking'],'total':_0x148302[_0x74f4('0x27')],'type':_0x148302[_0x74f4('0x28')],'unmanaged':_0x148302[_0x74f4('0x29')],'abandoned':_0x148302['abandoned'],'waiting':_0x148302[_0x74f4('0x2a')],'loggedInDb':_0x148302[_0x74f4('0x2b')]};if(_0x148302[_0x74f4('0x28')]===_0x74f4('0x2c')){_0x1a7207[_0x74f4('0x2d')]=_0x148302[_0x74f4('0x2d')];_0x1a7207[_0x74f4('0x2e')]=_0x148302['dialMethod'];_0x1a7207[_0x74f4('0x2f')]=_0x148302[_0x74f4('0x2f')];_0x1a7207['dialOriginateCallerIdNumber']=_0x148302[_0x74f4('0x30')];_0x1a7207[_0x74f4('0x31')]=_0x148302[_0x74f4('0x31')];_0x1a7207['dialPrefix']=_0x148302[_0x74f4('0x32')];_0x1a7207[_0x74f4('0x33')]=_0x148302['outboundAnswerAgiCallsDay'];_0x1a7207[_0x74f4('0x34')]=_0x148302[_0x74f4('0x34')];_0x1a7207[_0x74f4('0x35')]=_0x148302['outboundBlacklistCallsDay'];_0x1a7207['outboundBusyCallsDay']=_0x148302['outboundBusyCallsDay'];_0x1a7207[_0x74f4('0x36')]=_0x148302[_0x74f4('0x36')];_0x1a7207['outboundDropCallsDayACS']=_0x148302['outboundDropCallsDayACS'];_0x1a7207['outboundDropCallsDayCallersExit']=_0x148302[_0x74f4('0x37')];_0x1a7207['outboundDropCallsDayTimeout']=_0x148302[_0x74f4('0x38')];_0x1a7207[_0x74f4('0x39')]=_0x148302[_0x74f4('0x39')];_0x1a7207[_0x74f4('0x3a')]=_0x148302[_0x74f4('0x3a')];_0x1a7207[_0x74f4('0x3b')]=_0x148302['outboundOriginateFailureCallsDay'];_0x1a7207['outboundReCallsDay']=_0x148302[_0x74f4('0x3c')];_0x1a7207[_0x74f4('0x3d')]=_0x148302['outboundRejectCallsDay'];_0x1a7207[_0x74f4('0x3e')]=_0x148302['outboundUnknownCallsDay'];_0x1a7207[_0x74f4('0x3f')]=_0x148302[_0x74f4('0x3f')];_0x1a7207[_0x74f4('0x40')]=_0x148302[_0x74f4('0x40')];_0x1a7207[_0x74f4('0x41')]=_0x148302['predictiveIntervalAvgTalktime'];_0x1a7207[_0x74f4('0x42')]=_0x148302['predictiveIntervalDroppedCallsCallersExit'];_0x1a7207['predictiveIntervalDroppedCallsTimeout']=_0x148302[_0x74f4('0x43')];_0x1a7207[_0x74f4('0x44')]=_0x148302[_0x74f4('0x44')];_0x1a7207[_0x74f4('0x45')]=_0x148302[_0x74f4('0x45')];_0x1a7207['predictiveIntervalHitRate']=_0x148302[_0x74f4('0x46')];_0x1a7207['predictiveIntervalMultiplicativeFactor']=_0x148302[_0x74f4('0x47')];_0x1a7207['predictiveIntervalPauses']=_0x148302[_0x74f4('0x48')];_0x1a7207[_0x74f4('0x49')]=_0x148302[_0x74f4('0x49')];_0x1a7207[_0x74f4('0x4a')]=_0x148302['predictiveIntervalTotalCalls'];_0x1a7207[_0x74f4('0x1d')]=_0x148302[_0x74f4('0x1d')];_0x1a7207[_0x74f4('0x4b')]=_0x148302['originated'];_0x1a7207[_0x74f4('0x4c')]=_0x148302[_0x74f4('0x4c')];_0x1a7207[_0x74f4('0x4d')]=_0x148302['erlangCallToSecond'];_0x1a7207[_0x74f4('0x4e')]=_0x148302[_0x74f4('0x4e')];_0x1a7207['erlangBusyFactor']=_0x148302[_0x74f4('0x4f')];_0x1a7207[_0x74f4('0x50')]=_0x148302['startPredictive'];_0x1a7207['startProgressive']=_0x148302[_0x74f4('0x51')];}if(_0x148302[_0x74f4('0x52')]){_0x1a7207[_0x74f4('0x52')]={'id':_0x148302[_0x74f4('0x52')]['id'],'name':_0x148302[_0x74f4('0x52')][_0x74f4('0xb')],'active':_0x148302[_0x74f4('0x52')][_0x74f4('0x53')],'callerid':_0x148302[_0x74f4('0x52')][_0x74f4('0x54')]};}if(_0x148302[_0x74f4('0x55')]){_0x1a7207['Interval']={'id':_0x148302[_0x74f4('0x55')]['id'],'name':_0x148302[_0x74f4('0x55')]['name']};}_0x1ea6a3[_0x74f4('0x56')](_0x1a7207);}}_0x5bb549({'count':_0x1ea6a3['length'],'rows':_0x1ea6a3});});},'VoiceChannels':function(_0x2fe0fa){return new Promise(function(_0x39e9e2,_0x41b2a2){var _0x5e27c9=_[_0x74f4('0x57')](_0x4a4b51[_0x74f4('0x58')]);_0x39e9e2({'count':_0x5e27c9['length'],'rows':_0x5e27c9});});},'VoiceChannelMixMonitor':function(_0x5bcc33){var _0x27ec3c=this;return new Promise(function(_0x5938d6,_0x5383ff){if(ami[_0x74f4('0x12')]()==![]){return _0x5383ff(_0x27ec3c[_0x74f4('0x13')](0x1f4,[config[_0x74f4('0x14')]['ip'],config[_0x74f4('0x14')][_0x74f4('0x1e')],'ami\x20disconnected'][_0x74f4('0x16')]('\x20')));}var _0x2ad594=schema(properties[_0x74f4('0x59')])['validate'](_0x5bcc33);if(_0x2ad594[_0x74f4('0x5a')]>0x0){return _0x5383ff(_0x27ec3c['error'](0x1f4,_['map'](_0x2ad594,'message')[_0x74f4('0x16')](',\x20')));}var _0x575883=_[_0x74f4('0x5b')](_0x4a4b51['channels'],{'uniqueid':_0x5bcc33[_0x74f4('0x5c')]});if(_0x575883&&_0x575883[_0x74f4('0x5d')]){var _0x48498d=util[_0x74f4('0x5e')]('%s.%s',_0x5bcc33[_0x74f4('0x5f')]||_0x5bcc33[_0x74f4('0x5c')],_0x5bcc33[_0x74f4('0x5e')]||'wav');return ami[_0x74f4('0x1b')]({'action':_0x74f4('0x60'),'channel':_0x575883['channel'],'file':_0x48498d,'options':'ai(mixmonitorid)'})[_0x74f4('0x1c')](function(_0x109573){var _0x27f2bc=_[_0x74f4('0x5b')](_0x575883[_0x74f4('0x61')],{'filename':'/var/spool/asterisk/monitor/'+_0x48498d['toLowerCase']()});if(_[_0x74f4('0x62')](_0x27f2bc)){_0x575883[_0x74f4('0x61')][_0x74f4('0x56')]({'filename':_0x74f4('0x63')+_0x48498d['toLowerCase'](),'createdAt':moment()[_0x74f4('0x5e')](_0x74f4('0x64')),'mixmonitorid':_0x109573[_0x74f4('0x65')],'status':_0x74f4('0x66')});}else{_0x27f2bc[_0x74f4('0x65')]=_0x109573[_0x74f4('0x65')];_0x27f2bc['status']='rec';}_0x5938d6({'code':0xc8,'message':[_0x5bcc33[_0x74f4('0x5c')],_0x74f4('0x67'),_0x109573['mixmonitorid']][_0x74f4('0x16')]('\x20'),'mixmonitorid':_0x109573['mixmonitorid']});})[_0x74f4('0x22')](function(_0x4a1022){_0x5383ff(_0x27ec3c['error'](0x1f5,[_0x5bcc33[_0x74f4('0x5c')],_0x4a1022[_0x74f4('0x1d')][_0x74f4('0x68')]()][_0x74f4('0x16')]('\x20')));});}else{return _0x5383ff(_0x27ec3c['error'](0x1f5,_0x74f4('0x69')));}});},'VoiceChannelStopMixMonitor':function(_0x477874){var _0x1263d2=this;return new Promise(function(_0x52cf70,_0x29f682){if(ami[_0x74f4('0x12')]()==![]){return _0x29f682(_0x1263d2[_0x74f4('0x13')](0x1f4,[config[_0x74f4('0x14')]['ip'],config[_0x74f4('0x14')]['username'],_0x74f4('0x15')][_0x74f4('0x16')]('\x20')));}var _0xc3c38=schema(properties[_0x74f4('0x59')])[_0x74f4('0x3')](_0x477874);if(_0xc3c38[_0x74f4('0x5a')]>0x0){return _0x29f682(_0x1263d2['error'](0x1f4,_[_0x74f4('0x6a')](_0xc3c38,_0x74f4('0x1d'))['join'](',\x20')));}var _0x358de7=_[_0x74f4('0x5b')](_0x4a4b51[_0x74f4('0x58')],{'uniqueid':_0x477874['uniqueid']});if(_0x358de7){return BPromise['resolve']()[_0x74f4('0x1c')](function(){if(_0x358de7['channel']){return ami['Action']({'action':_0x74f4('0x6b'),'channel':_0x358de7[_0x74f4('0x5d')],'mixmonitorid':_0x477874['mixmonitorid']})[_0x74f4('0x22')](function(_0xf9878a){});}})[_0x74f4('0x1c')](function(){if(_0x358de7[_0x74f4('0x6c')]){return ami[_0x74f4('0x1b')]({'action':'StopMixMonitor','channel':_0x358de7['destinationchannel'],'mixmonitorid':_0x477874[_0x74f4('0x65')]})['catch'](function(_0x1c0dee){});}})[_0x74f4('0x1c')](function(_0x3f8459){var _0x4245d2=_[_0x74f4('0x5b')](_0x358de7[_0x74f4('0x61')],{'mixmonitorid':_0x477874['mixmonitorid']});if(_0x4245d2){_0x4245d2[_0x74f4('0x6d')]=_0x74f4('0x6e');}})[_0x74f4('0x1c')](function(){var _0x57fc33=util[_0x74f4('0x5e')]('%s.%s',_0x477874[_0x74f4('0x5f')]||_0x477874['uniqueid'],_0x477874['format']||'wav');var _0x3b72d7=_['find'](_0x358de7[_0x74f4('0x61')],{'filename':_0x74f4('0x63')+_0x57fc33['toLowerCase']()});if(_0x3b72d7){_0x3b72d7[_0x74f4('0x6d')]='stop';}})['then'](function(){_0x52cf70({'code':0xc8,'message':[_0x477874[_0x74f4('0x5c')],_0x74f4('0x6f')]['join']('\x20')});})[_0x74f4('0x22')](function(_0x329f2c){_0x29f682(_0x1263d2[_0x74f4('0x13')](0x1f5,[_0x477874['uniqueid'],_0x329f2c[_0x74f4('0x1d')]['toLowerCase']()][_0x74f4('0x16')]('\x20')));});}else{return _0x29f682(_0x1263d2[_0x74f4('0x13')](0x1f5,_0x74f4('0x69')));}});},'VoiceQueuesChannels':function(_0x31b321){return new Promise(function(_0x349429,_0x578a7b){var _0x32ea4a=_['values'](_0x4a4b51[_0x74f4('0x70')]);_0x349429({'count':_0x32ea4a[_0x74f4('0x5a')],'rows':_0x32ea4a});});},'VoiceQueuesChannel':function(_0x3a643a){var _0x5008eb=this;return new Promise(function(_0x4ec55b,_0x4db6c9){var _0x50b287=schema(properties['voicequeuechannel'])[_0x74f4('0x3')](_0x3a643a);if(_0x50b287[_0x74f4('0x5a')]>0x0){return _0x4db6c9(_0x5008eb['error'](0x1f4,_['map'](_0x50b287,_0x74f4('0x1d'))['join'](',\x20')));}var _0x2494f2=_[_0x74f4('0x5b')](_0x4a4b51[_0x74f4('0x70')],{'uniqueid':_0x3a643a[_0x74f4('0x5c')]});if(_0x2494f2){_0x4ec55b(_0x2494f2);}else{return _0x4db6c9(_0x5008eb['error'](0x1f5,_0x74f4('0x69')));}});},'VoiceQueuesChannelHangup':function(_0x2452c1){var _0x2d17a6=this;return new Promise(function(_0x1dc568,_0x55f8b0){if(ami[_0x74f4('0x12')]()==![]){return _0x55f8b0(_0x2d17a6['error'](0x1f4,[config[_0x74f4('0x14')]['ip'],config[_0x74f4('0x14')]['username'],'ami\x20disconnected'][_0x74f4('0x16')]('\x20')));}var _0x1eb14e=schema(properties['voicequeuechannelhangup'])[_0x74f4('0x3')](_0x2452c1);if(_0x1eb14e[_0x74f4('0x5a')]>0x0){return _0x55f8b0(_0x2d17a6['error'](0x1f4,_[_0x74f4('0x6a')](_0x1eb14e,_0x74f4('0x1d'))[_0x74f4('0x16')](',\x20')));}var _0x1f5686=_[_0x74f4('0x5b')](_0x4a4b51['queueChannels'],{'uniqueid':_0x2452c1['uniqueid']});if(_0x1f5686&&_0x1f5686[_0x74f4('0x5d')]){return ami[_0x74f4('0x1b')]({'action':_0x74f4('0x71'),'channel':_0x1f5686[_0x74f4('0x5d')]})[_0x74f4('0x1c')](function(_0x6a6421){_0x1dc568({'code':0xc8,'message':[_0x2452c1[_0x74f4('0x5c')],_0x6a6421[_0x74f4('0x1d')][_0x74f4('0x68')]()][_0x74f4('0x16')]('\x20')});})[_0x74f4('0x22')](function(_0x5c31dd){_0x55f8b0(_0x2d17a6['error'](0x1f5,[_0x2452c1[_0x74f4('0x5c')],_0x5c31dd[_0x74f4('0x1d')][_0x74f4('0x68')]()][_0x74f4('0x16')]('\x20')));});}else{return _0x55f8b0(_0x2d17a6[_0x74f4('0x13')](0x1f5,_0x74f4('0x69')));}});},'VoiceQueuesChannelRedirect':function(_0x20b819){var _0x579ab2=this;return new Promise(function(_0x3f814f,_0x39562f){if(ami['isConnected']()==![]){return _0x39562f(_0x579ab2[_0x74f4('0x13')](0x1f4,[config[_0x74f4('0x14')]['ip'],config[_0x74f4('0x14')][_0x74f4('0x1e')],_0x74f4('0x15')][_0x74f4('0x16')]('\x20')));}var _0x26b171=schema(properties[_0x74f4('0x72')])[_0x74f4('0x3')](_0x20b819);if(_0x26b171['length']>0x0){return _0x39562f(_0x579ab2['error'](0x1f4,_[_0x74f4('0x6a')](_0x26b171,'message')[_0x74f4('0x16')](',\x20')));}var _0x128b78=_[_0x74f4('0x5b')](_0x4a4b51[_0x74f4('0x70')],{'uniqueid':_0x20b819['uniqueid']});if(_0x128b78&&_0x128b78[_0x74f4('0x5d')]){return ami[_0x74f4('0x1b')]({'action':'Redirect','channel':_0x128b78[_0x74f4('0x5d')],'exten':_0x20b819['exten'],'context':_0x20b819['context']||_0x128b78[_0x74f4('0x73')],'priority':0x1})['then'](function(_0x2ab189){_0x3f814f({'code':0xc8,'message':[_0x20b819[_0x74f4('0x5c')],_0x2ab189[_0x74f4('0x1d')]['toLowerCase']()][_0x74f4('0x16')]('\x20')});})[_0x74f4('0x22')](function(_0x21f68b){_0x39562f(_0x579ab2['error'](0x1f5,[_0x20b819[_0x74f4('0x5c')],_0x21f68b[_0x74f4('0x1d')][_0x74f4('0x68')]()][_0x74f4('0x16')]('\x20')));});}else{return _0x39562f(_0x579ab2['error'](0x1f5,_0x74f4('0x69')));}});},'Agents':function(_0xe02a52){return new Promise(function(_0xc40ece,_0x202bd3){var _0x41f5ef=_[_0x74f4('0x57')](_0x4a4b51[_0x74f4('0xf')]);_0xc40ece({'count':_0x41f5ef[_0x74f4('0x5a')],'rows':_0x41f5ef});});},'Telephones':function(_0x1ce06c){return new Promise(function(_0x19db39,_0x37a5eb){var _0x53e4b1=_[_0x74f4('0x57')](_0x4a4b51[_0x74f4('0x74')]);_0x19db39({'count':_0x53e4b1[_0x74f4('0x5a')],'rows':_0x53e4b1});});},'Trunks':function(_0x2c3dd3){return new Promise(function(_0x5da18c,_0x5a3993){var _0x1838ce=_[_0x74f4('0x57')](_0x4a4b51[_0x74f4('0x75')]);_0x5da18c({'count':_0x1838ce['length'],'rows':_0x1838ce});});},'OutboundChannels':function(_0x563e7e){return new Promise(function(_0x2a802a,_0xfe063b){var _0x191126=_[_0x74f4('0x57')](_0x4a4b51[_0x74f4('0x76')]);_0x2a802a({'count':_0x191126[_0x74f4('0x5a')],'rows':_0x191126});});},'Outbound':function(_0x47cd0b){return new Promise(function(_0x25b426,_0x5670e4){_0x25b426(_0x4a4b51[_0x74f4('0x2c')]);});},'Campaigns':function(_0x52a767){return new Promise(function(_0x3eb6b4,_0x335453){var _0x341763=_['values'](_0x4a4b51[_0x74f4('0x77')]);_0x3eb6b4({'count':_0x341763['length'],'rows':_0x341763});});},'VoiceQueuesPreview':function(_0x5dd918){var _0x5a79ba=this;return new Promise(function(_0x74bf40,_0x5151f8){_0x9697ca['run'](_0x5dd918['id'])[_0x74f4('0x1c')](function(_0x322b35){_0x74bf40({'code':0xc8,'message':_0x322b35['message']});})[_0x74f4('0x22')](function(_0x2eeb26){_0x5151f8(_0x5a79ba['error'](0x1f4,_0x2eeb26[_0x74f4('0x1d')]));});});},'EventManager':function(_0x4cb40b){var _0x50d118=this;return new Promise(function(_0x4489e8,_0x1e51d8){if(!_0x4cb40b['event']){return _0x1e51d8(_0x50d118[_0x74f4('0x13')](0x1f4,_0x74f4('0x78')));}ami[_0x74f4('0x79')](_0x74f4('0x7a')+_0x4cb40b[_0x74f4('0x7b')],_0x4cb40b['message']);_0x4489e8({'code':0xc8,'message':_0x4cb40b});});},'FaxAccounts':function(_0xadf38){return new Promise(function(_0x13c8d3,_0x27fb99){var _0x177773=_['values'](_0x4a4b51[_0x74f4('0x7c')]);_0x13c8d3({'count':_0x177773[_0x74f4('0x5a')],'rows':_0x177773});});},'SendFax':function(_0x53ea03){var _0x2e6179=this;return new Promise(function(_0x547531,_0x31a530){_0x40ef8d[_0x74f4('0x7d')](_0x53ea03)[_0x74f4('0x1c')](function(_0xbe6c3a){_0x547531({'code':0xc8,'message':_0xbe6c3a['message']});})['catch'](function(_0x48eafc){_0x31a530(_0x2e6179[_0x74f4('0x13')](0x1f4,_0x48eafc[_0x74f4('0x1d')]));});});},'CheckAfterSend':function(_0x1906b0){var _0x21f0f5=this;return new Promise(function(_0x4e1b59,_0x5330a5){_0x40ef8d[_0x74f4('0x7e')](_0x1906b0)['then'](function(_0xb69540){_0x4e1b59({'code':0xc8,'message':_0xb69540[_0x74f4('0x1d')]});})['catch'](function(_0x1c7599){_0x5330a5(_0x21f0f5[_0x74f4('0x13')](0x1f4,_0x1c7599[_0x74f4('0x1d')]));});});}};var _0x53a05f=jayson[_0x74f4('0x7f')](_0x55b834)[_0x74f4('0x80')]();_0x53a05f['on'](_0x74f4('0x13'),function(_0xb6b385){return _0x15379a(_0xb6b385);});_0x53a05f[_0x74f4('0x8')](0x232a,_0x74f4('0x81'),function(){console[_0x74f4('0x82')]('AMI\x20RPC\x20server\x20listening\x20on\x20127.0.0.1:%d!',0x232a);return _0x4a4ff0(_0x74f4('0x83')+0x232a);});});};