Built motion from commit b5413ace.|2.6.9
[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 _0xc2da=['stop','StopMixMonitor\x20Success','queueChannels','voicequeuechannelhangup','Hangup','Redirect','exten','context','trunks','outboundChannels','campaigns','run','event','Event\x20name\x20mandatory','emit','faxAccounts','checkAfterSend','server','http','RPC\x20listening\x20on\x20port:','lodash','jayson/promise','moment','../properties','../ami','listen','%s/%s','name','timers','timer','agents','updateStatusRealtime','pause','QueuePause','isConnected','error','asterisk','username','ami\x20disconnected','join','pick','keys','module','action','Reload','then','catch','command','Command','Action','content','message','voiceQueues','hasOwnProperty','strategy','loggedIn','pTalking','sumBillable','sumDuration','sumHoldTime','talking','total','type','unmanaged','loggedInDb','outbound','dialActive','dialMethod','dialOriginateCallerIdName','dialOriginateCallerIdNumber','dialOriginateTimeout','dialPrefix','temp','outboundAnswerAgiCallsDay','outboundAnswerCallsDay','outboundBlacklistCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundDropCallsDayACS','outboundDropCallsDayCallersExit','outboundNoAnswerCallsDay','outboundNoSuchCallsDay','outboundOriginateFailureCallsDay','outboundReCallsDay','outboundRejectCallsDay','outboundUnknownCallsDay','predictiveIntervalAnsweredCalls','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','predictiveIntervalDroppedCallsCallersExit','predictiveIntervalDroppedCallsTimeout','predictiveIntervalErlangCalls','predictiveIntervalErlangCallsDroppedCalls','predictiveIntervalHitRate','predictiveIntervalMultiplicativeFactor','predictiveIntervalPauses','predictiveIntervalAvailable','predictiveIntervalTotalCalls','erlangCalls','erlangCallToSecond','erlangAbandonmentRate','erlangBusyFactor','startPredictive','startProgressive','Trunk','active','Interval','find','undefined','values','channels','length','voicechannel','validate','map','channel','format','%s.%s','filename','MixMonitor','ai(mixmonitorid)','monitors','isNil','push','/var/spool/asterisk/monitor/','YYYY-MM-DD\x20HH:mm:ss','mixmonitorid','status','rec','MixMonitor\x20Success','uniqueid','toLowerCase','Channel\x20doesn\x27t\x20exist','resolve','StopMixMonitor','destinationchannel'];(function(_0x2e6a26,_0x2c6750){var _0x4b9aad=function(_0x38aacf){while(--_0x38aacf){_0x2e6a26['push'](_0x2e6a26['shift']());}};_0x4b9aad(++_0x2c6750);}(_0xc2da,0x124));var _0xac2d=function(_0x4a0b21,_0x1d310d){_0x4a0b21=_0x4a0b21-0x0;var _0xbc48b8=_0xc2da[_0x4a0b21];return _0xbc48b8;};'use strict';var _=require(_0xac2d('0x0'));var util=require('util');var jayson=require(_0xac2d('0x1'));var schema=require('validate');var moment=require(_0xac2d('0x2'));var config=require('../../../config/environment');var properties=require(_0xac2d('0x3'));var ami=require(_0xac2d('0x4'));exports[_0xac2d('0x5')]=function(_0x332f28,_0x120263,_0x1d8a1c){return new Promise(function(_0x3db400,_0x133e22){var _0x2b0a36={'QueuePause':function(_0x3ef58a){return new Promise(function(_0x41d5ae){var _0x515055=util['format'](_0xac2d('0x6'),'SIP',_0x3ef58a[_0xac2d('0x7')]);if(_0x332f28[_0xac2d('0x8')]&&_0x332f28[_0xac2d('0x8')][_0x515055]&&_0x332f28[_0xac2d('0x8')][_0x515055][_0xac2d('0x9')]){_0x332f28[_0xac2d('0x8')][_0x515055]['updateAcw']();}if(_0x332f28['agents'][_0x515055]){_0x332f28[_0xac2d('0xa')][_0x515055][_0xac2d('0xb')]({'statePause':_0x3ef58a[_0xac2d('0xc')]?!![]:![]});}_0x41d5ae({'code':0xc8,'message':_0xac2d('0xd')});});},'Reload':function(_0x4b9e88){var _0x21aa1b=this;return new Promise(function(_0x20fa0d,_0x1ac5a8){if(ami[_0xac2d('0xe')]()==![]){return _0x1ac5a8(_0x21aa1b[_0xac2d('0xf')](0x1f4,[config[_0xac2d('0x10')]['ip'],config[_0xac2d('0x10')][_0xac2d('0x11')],_0xac2d('0x12')][_0xac2d('0x13')]('\x20')));}_0x4b9e88=_[_0xac2d('0x14')](_0x4b9e88,_[_0xac2d('0x15')](properties[_0xac2d('0x16')]));_0x4b9e88[_0xac2d('0x17')]=_0xac2d('0x18');return ami['Action'](_0x4b9e88)[_0xac2d('0x19')](function(_0x3118ec){_0x20fa0d({'code':0xc8,'message':_0x3118ec['message']});})[_0xac2d('0x1a')](function(_0xed956b){_0x1ac5a8(_0x21aa1b[_0xac2d('0xf')](0x1f5,_0xed956b['message']));});});},'Command':function(_0x45c12b){var _0x5da81c=this;return new Promise(function(_0x20266d,_0x3651e6){if(ami['isConnected']()==![]){return _0x3651e6(_0x5da81c[_0xac2d('0xf')](0x1f4,[config['asterisk']['ip'],config['asterisk']['username'],'ami\x20disconnected'][_0xac2d('0x13')]('\x20')));}_0x45c12b=_[_0xac2d('0x14')](_0x45c12b,_0xac2d('0x1b'));_0x45c12b[_0xac2d('0x17')]=_0xac2d('0x1c');return ami[_0xac2d('0x1d')](_0x45c12b)[_0xac2d('0x19')](function(_0x10cea2){_0x20266d({'code':0xc8,'message':_0x10cea2[_0xac2d('0x1e')]});})[_0xac2d('0x1a')](function(_0xafa502){_0x3651e6(_0x5da81c[_0xac2d('0xf')](0x1f5,_0xafa502[_0xac2d('0x1f')]));});});},'VoiceQueues':function(){return new Promise(function(_0xa8a259){var _0x3edde3=[];for(var _0x8d0e32 in _0x332f28[_0xac2d('0x20')]){if(_0x332f28[_0xac2d('0x20')][_0xac2d('0x21')](_0x8d0e32)){var _0x5f00a0=_0x332f28[_0xac2d('0x20')][_0x8d0e32];var _0x38cad3={'id':_0x5f00a0['id'],'name':_0x5f00a0[_0xac2d('0x7')],'strategy':_0x5f00a0[_0xac2d('0x22')],'answered':_0x5f00a0['answered'],'available':_0x5f00a0['available'],'loggedIn':_0x5f00a0[_0xac2d('0x23')],'pTalking':_0x5f00a0[_0xac2d('0x24')],'sumBillable':_0x5f00a0[_0xac2d('0x25')],'sumDuration':_0x5f00a0[_0xac2d('0x26')],'sumHoldTime':_0x5f00a0[_0xac2d('0x27')]||0x0,'talking':_0x5f00a0[_0xac2d('0x28')],'total':_0x5f00a0[_0xac2d('0x29')],'type':_0x5f00a0[_0xac2d('0x2a')],'unmanaged':_0x5f00a0[_0xac2d('0x2b')],'abandoned':_0x5f00a0['abandoned'],'waiting':_0x5f00a0['waiting'],'loggedInDb':_0x5f00a0[_0xac2d('0x2c')]};if(_0x5f00a0[_0xac2d('0x2a')]===_0xac2d('0x2d')){_0x38cad3[_0xac2d('0x2e')]=_0x5f00a0[_0xac2d('0x2e')];_0x38cad3['dialMethod']=_0x5f00a0[_0xac2d('0x2f')];_0x38cad3[_0xac2d('0x30')]=_0x5f00a0['dialOriginateCallerIdName'];_0x38cad3[_0xac2d('0x31')]=_0x5f00a0[_0xac2d('0x31')];_0x38cad3[_0xac2d('0x32')]=_0x5f00a0[_0xac2d('0x32')];_0x38cad3['dialPrefix']=_0x5f00a0[_0xac2d('0x33')];_0x38cad3['temp']=_0x5f00a0[_0xac2d('0x34')];_0x38cad3[_0xac2d('0x35')]=_0x5f00a0['outboundAnswerAgiCallsDay'];_0x38cad3[_0xac2d('0x36')]=_0x5f00a0[_0xac2d('0x36')];_0x38cad3[_0xac2d('0x37')]=_0x5f00a0[_0xac2d('0x37')];_0x38cad3[_0xac2d('0x38')]=_0x5f00a0['outboundBusyCallsDay'];_0x38cad3[_0xac2d('0x39')]=_0x5f00a0['outboundCongestionCallsDay'];_0x38cad3[_0xac2d('0x3a')]=_0x5f00a0['outboundDropCallsDayACS'];_0x38cad3[_0xac2d('0x3b')]=_0x5f00a0[_0xac2d('0x3b')];_0x38cad3['outboundDropCallsDayTimeout']=_0x5f00a0['outboundDropCallsDayTimeout'];_0x38cad3[_0xac2d('0x3c')]=_0x5f00a0[_0xac2d('0x3c')];_0x38cad3[_0xac2d('0x3d')]=_0x5f00a0[_0xac2d('0x3d')];_0x38cad3[_0xac2d('0x3e')]=_0x5f00a0[_0xac2d('0x3e')];_0x38cad3[_0xac2d('0x3f')]=_0x5f00a0['outboundReCallsDay'];_0x38cad3[_0xac2d('0x40')]=_0x5f00a0[_0xac2d('0x40')];_0x38cad3[_0xac2d('0x41')]=_0x5f00a0[_0xac2d('0x41')];_0x38cad3[_0xac2d('0x42')]=_0x5f00a0['predictiveIntervalAnsweredCalls'];_0x38cad3[_0xac2d('0x43')]=_0x5f00a0[_0xac2d('0x43')];_0x38cad3[_0xac2d('0x44')]=_0x5f00a0[_0xac2d('0x44')];_0x38cad3[_0xac2d('0x45')]=_0x5f00a0[_0xac2d('0x45')];_0x38cad3[_0xac2d('0x46')]=_0x5f00a0[_0xac2d('0x46')];_0x38cad3[_0xac2d('0x47')]=_0x5f00a0[_0xac2d('0x47')];_0x38cad3['predictiveIntervalErlangCallsDroppedCalls']=_0x5f00a0[_0xac2d('0x48')];_0x38cad3['predictiveIntervalHitRate']=_0x5f00a0[_0xac2d('0x49')];_0x38cad3[_0xac2d('0x4a')]=_0x5f00a0[_0xac2d('0x4a')];_0x38cad3[_0xac2d('0x4b')]=_0x5f00a0[_0xac2d('0x4b')];_0x38cad3['predictiveIntervalAvailable']=_0x5f00a0[_0xac2d('0x4c')];_0x38cad3[_0xac2d('0x4d')]=_0x5f00a0[_0xac2d('0x4d')];_0x38cad3[_0xac2d('0x1f')]=_0x5f00a0[_0xac2d('0x1f')];_0x38cad3['originated']=_0x5f00a0['originated'];_0x38cad3['erlangCalls']=_0x5f00a0[_0xac2d('0x4e')];_0x38cad3[_0xac2d('0x4f')]=_0x5f00a0[_0xac2d('0x4f')];_0x38cad3[_0xac2d('0x50')]=_0x5f00a0[_0xac2d('0x50')];_0x38cad3['erlangBusyFactor']=_0x5f00a0[_0xac2d('0x51')];_0x38cad3[_0xac2d('0x52')]=_0x5f00a0['startPredictive'];_0x38cad3[_0xac2d('0x53')]=_0x5f00a0[_0xac2d('0x53')];}if(_0x5f00a0[_0xac2d('0x54')]){_0x38cad3[_0xac2d('0x54')]={'id':_0x5f00a0[_0xac2d('0x54')]['id'],'name':_0x5f00a0['Trunk'][_0xac2d('0x7')],'active':_0x5f00a0[_0xac2d('0x54')][_0xac2d('0x55')],'callerid':_0x5f00a0[_0xac2d('0x54')]['callerid']};}if(_0x5f00a0['Interval']){_0x38cad3[_0xac2d('0x56')]={'id':_0x5f00a0['Interval']['id'],'name':_0x5f00a0[_0xac2d('0x56')][_0xac2d('0x7')]};}_0x3edde3['push'](_0x38cad3);}}_0xa8a259({'count':_0x3edde3['length'],'rows':_0x3edde3});});},'UpdateVoiceQueue':function(_0x1a7153){return new Promise(function(_0x47b439,_0x4be9de){var _0x4f1cb6=_[_0xac2d('0x57')](_0x332f28[_0xac2d('0x20')],{'id':parseInt(_0x1a7153['id'])});var _0x3fe2b6=_['omit'](_0x1a7153,['id']);if(_0x4f1cb6){for(var _0x32c260 in _0x3fe2b6){if(typeof _0x3fe2b6[_0x32c260]!=='undefined'&&typeof _0x4f1cb6[_0x32c260]!==_0xac2d('0x58')){_0x4f1cb6[_0x32c260]=_0x3fe2b6[_0x32c260];}}_0x47b439(_0x4f1cb6);}else{_0x4be9de();}});},'VoiceChannels':function(){return new Promise(function(_0xd18bcb){var _0x5244ac=_[_0xac2d('0x59')](_0x332f28[_0xac2d('0x5a')]);_0xd18bcb({'count':_0x5244ac[_0xac2d('0x5b')],'rows':_0x5244ac});});},'VoiceChannelMixMonitor':function(_0xa68e3e){var _0x1c7ab9=this;return new Promise(function(_0x4be3fe,_0x29c113){if(ami[_0xac2d('0xe')]()==![]){return _0x29c113(_0x1c7ab9['error'](0x1f4,[config[_0xac2d('0x10')]['ip'],config['asterisk']['username'],_0xac2d('0x12')][_0xac2d('0x13')]('\x20')));}var _0x5edfa6=schema(properties[_0xac2d('0x5c')])[_0xac2d('0x5d')](_0xa68e3e);if(_0x5edfa6[_0xac2d('0x5b')]>0x0){return _0x29c113(_0x1c7ab9[_0xac2d('0xf')](0x1f4,_[_0xac2d('0x5e')](_0x5edfa6,_0xac2d('0x1f'))[_0xac2d('0x13')](',\x20')));}var _0x57bf66=_[_0xac2d('0x57')](_0x332f28[_0xac2d('0x5a')],{'uniqueid':_0xa68e3e['uniqueid']});if(_0x57bf66&&_0x57bf66[_0xac2d('0x5f')]){var _0x1f4632=util[_0xac2d('0x60')](_0xac2d('0x61'),_0xa68e3e[_0xac2d('0x62')]||_0xa68e3e['uniqueid'],_0xa68e3e[_0xac2d('0x60')]||'wav');return ami['Action']({'action':_0xac2d('0x63'),'channel':_0x57bf66['channel'],'file':_0x1f4632,'options':_0xac2d('0x64')})[_0xac2d('0x19')](function(_0x247c61){var _0xc8d807=_[_0xac2d('0x57')](_0x57bf66[_0xac2d('0x65')],{'filename':'/var/spool/asterisk/monitor/'+_0x1f4632['toLowerCase']()});if(_[_0xac2d('0x66')](_0xc8d807)){_0x57bf66[_0xac2d('0x65')][_0xac2d('0x67')]({'filename':_0xac2d('0x68')+_0x1f4632['toLowerCase'](),'createdAt':moment()[_0xac2d('0x60')](_0xac2d('0x69')),'mixmonitorid':_0x247c61[_0xac2d('0x6a')],'status':'rec'});}else{_0xc8d807[_0xac2d('0x6a')]=_0x247c61[_0xac2d('0x6a')];_0xc8d807[_0xac2d('0x6b')]=_0xac2d('0x6c');}_0x4be3fe({'code':0xc8,'message':[_0xa68e3e['uniqueid'],_0xac2d('0x6d'),_0x247c61[_0xac2d('0x6a')]][_0xac2d('0x13')]('\x20'),'mixmonitorid':_0x247c61['mixmonitorid']});})[_0xac2d('0x1a')](function(_0x5e09af){_0x29c113(_0x1c7ab9[_0xac2d('0xf')](0x1f5,[_0xa68e3e[_0xac2d('0x6e')],_0x5e09af['message'][_0xac2d('0x6f')]()][_0xac2d('0x13')]('\x20')));});}else{return _0x29c113(_0x1c7ab9[_0xac2d('0xf')](0x1f5,_0xac2d('0x70')));}});},'VoiceChannelStopMixMonitor':function(_0x3911a1){var _0x2cde8c=this;return new Promise(function(_0x4ba7cd,_0x4c4811){if(ami[_0xac2d('0xe')]()==![]){return _0x4c4811(_0x2cde8c[_0xac2d('0xf')](0x1f4,[config[_0xac2d('0x10')]['ip'],config[_0xac2d('0x10')][_0xac2d('0x11')],_0xac2d('0x12')]['join']('\x20')));}var _0x2ec069=schema(properties[_0xac2d('0x5c')])[_0xac2d('0x5d')](_0x3911a1);if(_0x2ec069[_0xac2d('0x5b')]>0x0){return _0x4c4811(_0x2cde8c[_0xac2d('0xf')](0x1f4,_[_0xac2d('0x5e')](_0x2ec069,_0xac2d('0x1f'))[_0xac2d('0x13')](',\x20')));}var _0x188746=_['find'](_0x332f28[_0xac2d('0x5a')],{'uniqueid':_0x3911a1[_0xac2d('0x6e')]});if(_0x188746){return Promise[_0xac2d('0x71')]()[_0xac2d('0x19')](function(){if(_0x188746[_0xac2d('0x5f')]){return ami[_0xac2d('0x1d')]({'action':_0xac2d('0x72'),'channel':_0x188746[_0xac2d('0x5f')],'mixmonitorid':_0x3911a1['mixmonitorid']})['catch'](function(){});}})[_0xac2d('0x19')](function(){if(_0x188746[_0xac2d('0x73')]){return ami[_0xac2d('0x1d')]({'action':_0xac2d('0x72'),'channel':_0x188746[_0xac2d('0x73')],'mixmonitorid':_0x3911a1[_0xac2d('0x6a')]})[_0xac2d('0x1a')](function(){});}})[_0xac2d('0x19')](function(){var _0x20fdd0=_[_0xac2d('0x57')](_0x188746['monitors'],{'mixmonitorid':_0x3911a1[_0xac2d('0x6a')]});if(_0x20fdd0){_0x20fdd0[_0xac2d('0x6b')]='stop';}})[_0xac2d('0x19')](function(){var _0xb7b285=util['format'](_0xac2d('0x61'),_0x3911a1[_0xac2d('0x62')]||_0x3911a1[_0xac2d('0x6e')],_0x3911a1[_0xac2d('0x60')]||'wav');var _0x594218=_['find'](_0x188746[_0xac2d('0x65')],{'filename':'/var/spool/asterisk/monitor/'+_0xb7b285[_0xac2d('0x6f')]()});if(_0x594218){_0x594218[_0xac2d('0x6b')]=_0xac2d('0x74');}})['then'](function(){_0x4ba7cd({'code':0xc8,'message':[_0x3911a1['uniqueid'],_0xac2d('0x75')][_0xac2d('0x13')]('\x20')});})[_0xac2d('0x1a')](function(_0x28ec4a){_0x4c4811(_0x2cde8c[_0xac2d('0xf')](0x1f5,[_0x3911a1['uniqueid'],_0x28ec4a['message'][_0xac2d('0x6f')]()]['join']('\x20')));});}else{return _0x4c4811(_0x2cde8c['error'](0x1f5,_0xac2d('0x70')));}});},'VoiceQueuesChannels':function(){return new Promise(function(_0x3875f1){var _0x2ef589=_[_0xac2d('0x59')](_0x332f28[_0xac2d('0x76')]);_0x3875f1({'count':_0x2ef589[_0xac2d('0x5b')],'rows':_0x2ef589});});},'VoiceQueuesChannel':function(_0x88c7c7){var _0x4379d2=this;return new Promise(function(_0x32885b,_0x407862){var _0x178609=schema(properties['voicequeuechannel'])['validate'](_0x88c7c7);if(_0x178609[_0xac2d('0x5b')]>0x0){return _0x407862(_0x4379d2[_0xac2d('0xf')](0x1f4,_[_0xac2d('0x5e')](_0x178609,_0xac2d('0x1f'))['join'](',\x20')));}var _0x202c15=_[_0xac2d('0x57')](_0x332f28[_0xac2d('0x76')],{'uniqueid':_0x88c7c7[_0xac2d('0x6e')]});if(_0x202c15){_0x32885b(_0x202c15);}else{return _0x407862(_0x4379d2['error'](0x1f5,_0xac2d('0x70')));}});},'VoiceQueuesChannelHangup':function(_0x15ee1){var _0x501d8f=this;return new Promise(function(_0x45d318,_0x3f08b3){if(ami[_0xac2d('0xe')]()==![]){return _0x3f08b3(_0x501d8f[_0xac2d('0xf')](0x1f4,[config[_0xac2d('0x10')]['ip'],config[_0xac2d('0x10')][_0xac2d('0x11')],'ami\x20disconnected'][_0xac2d('0x13')]('\x20')));}var _0x261e0a=schema(properties[_0xac2d('0x77')])[_0xac2d('0x5d')](_0x15ee1);if(_0x261e0a['length']>0x0){return _0x3f08b3(_0x501d8f[_0xac2d('0xf')](0x1f4,_[_0xac2d('0x5e')](_0x261e0a,_0xac2d('0x1f'))[_0xac2d('0x13')](',\x20')));}var _0x2898c4=_[_0xac2d('0x57')](_0x332f28[_0xac2d('0x76')],{'uniqueid':_0x15ee1['uniqueid']});if(_0x2898c4&&_0x2898c4[_0xac2d('0x5f')]){return ami[_0xac2d('0x1d')]({'action':_0xac2d('0x78'),'channel':_0x2898c4['channel']})[_0xac2d('0x19')](function(_0x253986){_0x45d318({'code':0xc8,'message':[_0x15ee1[_0xac2d('0x6e')],_0x253986[_0xac2d('0x1f')]['toLowerCase']()][_0xac2d('0x13')]('\x20')});})[_0xac2d('0x1a')](function(_0x1aa66b){_0x3f08b3(_0x501d8f[_0xac2d('0xf')](0x1f5,[_0x15ee1[_0xac2d('0x6e')],_0x1aa66b[_0xac2d('0x1f')][_0xac2d('0x6f')]()][_0xac2d('0x13')]('\x20')));});}else{return _0x3f08b3(_0x501d8f['error'](0x1f5,'Channel\x20doesn\x27t\x20exist'));}});},'VoiceQueuesChannelRedirect':function(_0x35621f){var _0x2cf3e7=this;return new Promise(function(_0x3f8d3e,_0x1b35c7){if(ami['isConnected']()==![]){return _0x1b35c7(_0x2cf3e7[_0xac2d('0xf')](0x1f4,[config[_0xac2d('0x10')]['ip'],config[_0xac2d('0x10')]['username'],_0xac2d('0x12')]['join']('\x20')));}var _0x4dfc94=schema(properties['voicequeuechannelredirect'])[_0xac2d('0x5d')](_0x35621f);if(_0x4dfc94[_0xac2d('0x5b')]>0x0){return _0x1b35c7(_0x2cf3e7['error'](0x1f4,_['map'](_0x4dfc94,_0xac2d('0x1f'))[_0xac2d('0x13')](',\x20')));}var _0xc50766=_['find'](_0x332f28[_0xac2d('0x76')],{'uniqueid':_0x35621f[_0xac2d('0x6e')]});if(_0xc50766&&_0xc50766['channel']){return ami['Action']({'action':_0xac2d('0x79'),'channel':_0xc50766[_0xac2d('0x5f')],'exten':_0x35621f[_0xac2d('0x7a')],'context':_0x35621f['context']||_0xc50766[_0xac2d('0x7b')],'priority':0x1})['then'](function(_0x28ca09){_0x3f8d3e({'code':0xc8,'message':[_0x35621f['uniqueid'],_0x28ca09[_0xac2d('0x1f')]['toLowerCase']()][_0xac2d('0x13')]('\x20')});})['catch'](function(_0x4f48b6){_0x1b35c7(_0x2cf3e7[_0xac2d('0xf')](0x1f5,[_0x35621f[_0xac2d('0x6e')],_0x4f48b6[_0xac2d('0x1f')][_0xac2d('0x6f')]()]['join']('\x20')));});}else{return _0x1b35c7(_0x2cf3e7[_0xac2d('0xf')](0x1f5,_0xac2d('0x70')));}});},'Agents':function(_0x4c5553){return new Promise(function(_0x5d9102){var _0x346499=_[_0xac2d('0x59')](_0x332f28[_0xac2d('0xa')]);if(_0x4c5553&&_0x4c5553['id']){var _0x3004ca=_['find'](_0x346499,function(_0x375582){return _0x375582['id']===_0x4c5553['id'];});_0x5d9102(_0x3004ca);}else{_0x5d9102({'count':_0x346499[_0xac2d('0x5b')],'rows':_0x346499});}});},'Telephones':function(){return new Promise(function(_0xc64f2c){var _0x246aaf=_['values'](_0x332f28['telephones']);_0xc64f2c({'count':_0x246aaf['length'],'rows':_0x246aaf});});},'Trunks':function(){return new Promise(function(_0x5840f9){var _0x4b63f7=_['values'](_0x332f28[_0xac2d('0x7c')]);_0x5840f9({'count':_0x4b63f7['length'],'rows':_0x4b63f7});});},'OutboundChannels':function(){return new Promise(function(_0x17dfd8){var _0x56c3ed=_['values'](_0x332f28[_0xac2d('0x7d')]);_0x17dfd8({'count':_0x56c3ed[_0xac2d('0x5b')],'rows':_0x56c3ed});});},'Outbound':function(){return new Promise(function(_0xbf390c){_0xbf390c(_0x332f28['outbound']);});},'Campaigns':function(){return new Promise(function(_0xd6e310){var _0x3a4904=_[_0xac2d('0x59')](_0x332f28[_0xac2d('0x7e')]);_0xd6e310({'count':_0x3a4904[_0xac2d('0x5b')],'rows':_0x3a4904});});},'VoiceQueuesPreview':function(_0x397b25){var _0x2abf12=this;return new Promise(function(_0x5f4489,_0x7be9ce){_0x120263[_0xac2d('0x7f')](_0x397b25['id'])[_0xac2d('0x19')](function(_0x1f941f){_0x5f4489({'code':0xc8,'message':_0x1f941f[_0xac2d('0x1f')]});})[_0xac2d('0x1a')](function(_0xdf3319){_0x7be9ce(_0x2abf12['error'](0x1f4,_0xdf3319[_0xac2d('0x1f')]));});});},'EventManager':function(_0x265928){var _0x1af67c=this;return new Promise(function(_0x2e004b,_0x2b0397){if(!_0x265928[_0xac2d('0x80')]){return _0x2b0397(_0x1af67c[_0xac2d('0xf')](0x1f4,_0xac2d('0x81')));}ami[_0xac2d('0x82')]('custom:'+_0x265928['event'],_0x265928[_0xac2d('0x1f')]);_0x2e004b({'code':0xc8,'message':_0x265928});});},'FaxAccounts':function(){return new Promise(function(_0x263d68){var _0x403a8f=_[_0xac2d('0x59')](_0x332f28[_0xac2d('0x83')]);_0x263d68({'count':_0x403a8f[_0xac2d('0x5b')],'rows':_0x403a8f});});},'SendFax':function(_0x31e45e){var _0x5759c5=this;return new Promise(function(_0x2526e0,_0x26495d){_0x1d8a1c['send'](_0x31e45e)['then'](function(_0x522d27){_0x2526e0({'code':0xc8,'message':_0x522d27[_0xac2d('0x1f')]});})[_0xac2d('0x1a')](function(_0x5ac561){_0x26495d(_0x5759c5[_0xac2d('0xf')](0x1f4,_0x5ac561[_0xac2d('0x1f')]));});});},'CheckAfterSend':function(_0x1088d7){var _0x3c80e5=this;return new Promise(function(_0x55ab06,_0x11180a){_0x1d8a1c[_0xac2d('0x84')](_0x1088d7)[_0xac2d('0x19')](function(_0x1d2566){_0x55ab06({'code':0xc8,'message':_0x1d2566[_0xac2d('0x1f')]});})[_0xac2d('0x1a')](function(_0x979820){_0x11180a(_0x3c80e5[_0xac2d('0xf')](0x1f4,_0x979820[_0xac2d('0x1f')]));});});}};var _0x99e21e=jayson[_0xac2d('0x85')](_0x2b0a36)[_0xac2d('0x86')]();_0x99e21e['on'](_0xac2d('0xf'),function(_0x2beb62){return _0x133e22(_0x2beb62);});_0x99e21e['listen'](0x232a,'127.0.0.1',function(){console['log']('AMI\x20RPC\x20server\x20listening\x20on\x20127.0.0.1:%d!',0x232a);return _0x3db400(_0xac2d('0x87')+0x232a);});});};