Built motion from commit (unavailable).|2.5.17
[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 _0x9b94=['dialOriginateCallerIdNumber','dialOriginateTimeout','dialPrefix','outboundAnswerAgiCallsDay','outboundAnswerCallsDay','outboundBlacklistCallsDay','outboundBusyCallsDay','outboundCongestionCallsDay','outboundDropCallsDayACS','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','Interval','push','length','channels','map','find','uniqueid','channel','%s.%s','filename','format','wav','MixMonitor','ai(mixmonitorid)','monitors','/var/spool/asterisk/monitor/','toLowerCase','isNil','YYYY-MM-DD\x20HH:mm:ss','mixmonitorid','rec','status','MixMonitor\x20Success','voicechannel','resolve','StopMixMonitor','destinationchannel','stop','StopMixMonitor\x20Success','values','queueChannels','voicequeuechannel','Channel\x20doesn\x27t\x20exist','Hangup','exten','context','trunks','outboundChannels','campaigns','event','Event\x20name\x20mandatory','emit','custom:','send','checkAfterSend','http','127.0.0.1','log','RPC\x20listening\x20on\x20port:','util','jayson/promise','validate','bluebird','../../../config/environment','../ami','listen','%s/%s','SIP','name','timers','timer','updateAcw','agents','updateStatusRealtime','pause','QueuePause','error','asterisk','username','ami\x20disconnected','join','pick','module','action','Reload','Action','then','message','isConnected','Command','content','catch','voiceQueues','hasOwnProperty','strategy','answered','available','loggedIn','pTalking','sumBillable','sumDuration','sumHoldTime','talking','type','unmanaged','abandoned','loggedInDb','dialActive','dialMethod'];(function(_0x30be97,_0x3ea719){var _0x1d3a90=function(_0x512e8a){while(--_0x512e8a){_0x30be97['push'](_0x30be97['shift']());}};_0x1d3a90(++_0x3ea719);}(_0x9b94,0x169));var _0x49b9=function(_0x4ba223,_0x2ccdae){_0x4ba223=_0x4ba223-0x0;var _0xb751ad=_0x9b94[_0x4ba223];return _0xb751ad;};'use strict';var _=require('lodash');var util=require(_0x49b9('0x0'));var jayson=require(_0x49b9('0x1'));var schema=require(_0x49b9('0x2'));var BPromise=require(_0x49b9('0x3'));var moment=require('moment');var config=require(_0x49b9('0x4'));var properties=require('../properties');var ami=require(_0x49b9('0x5'));exports[_0x49b9('0x6')]=function(_0x3208f6,_0x4f8c63,_0x5bd75d){return new BPromise(function(_0x8785d4,_0x2031e0){var _0x48a32e={'QueuePause':function(_0x3bcc81){return new Promise(function(_0x5c63bd,_0x4e04d1){var _0x3f9978=util['format'](_0x49b9('0x7'),_0x49b9('0x8'),_0x3bcc81[_0x49b9('0x9')]);if(_0x3208f6[_0x49b9('0xa')]&&_0x3208f6[_0x49b9('0xa')][_0x3f9978]&&_0x3208f6['timers'][_0x3f9978][_0x49b9('0xb')]){_0x3208f6[_0x49b9('0xa')][_0x3f9978][_0x49b9('0xc')]();}if(_0x3208f6[_0x49b9('0xd')][_0x3f9978]){_0x3208f6[_0x49b9('0xd')][_0x3f9978][_0x49b9('0xe')]({'statePause':_0x3bcc81[_0x49b9('0xf')]?!![]:![]});}_0x5c63bd({'code':0xc8,'message':_0x49b9('0x10')});});},'Reload':function(_0x4cb7e5){var _0x216b5c=this;return new Promise(function(_0x529b6c,_0x732ef9){if(ami['isConnected']()==![]){return _0x732ef9(_0x216b5c[_0x49b9('0x11')](0x1f4,[config['asterisk']['ip'],config[_0x49b9('0x12')][_0x49b9('0x13')],_0x49b9('0x14')][_0x49b9('0x15')]('\x20')));}_0x4cb7e5=_[_0x49b9('0x16')](_0x4cb7e5,_['keys'](properties[_0x49b9('0x17')]));_0x4cb7e5[_0x49b9('0x18')]=_0x49b9('0x19');return ami[_0x49b9('0x1a')](_0x4cb7e5)[_0x49b9('0x1b')](function(_0x2b8491){_0x529b6c({'code':0xc8,'message':_0x2b8491[_0x49b9('0x1c')]});})['catch'](function(_0x54f7d2){_0x732ef9(_0x216b5c['error'](0x1f5,_0x54f7d2[_0x49b9('0x1c')]));});});},'Command':function(_0x282052){var _0x1ea49d=this;return new Promise(function(_0x2ca0b8,_0xe404d2){if(ami[_0x49b9('0x1d')]()==![]){return _0xe404d2(_0x1ea49d[_0x49b9('0x11')](0x1f4,[config[_0x49b9('0x12')]['ip'],config['asterisk'][_0x49b9('0x13')],_0x49b9('0x14')][_0x49b9('0x15')]('\x20')));}_0x282052=_[_0x49b9('0x16')](_0x282052,'command');_0x282052[_0x49b9('0x18')]=_0x49b9('0x1e');return ami[_0x49b9('0x1a')](_0x282052)[_0x49b9('0x1b')](function(_0x428bc0){_0x2ca0b8({'code':0xc8,'message':_0x428bc0[_0x49b9('0x1f')]});})[_0x49b9('0x20')](function(_0x219e0e){_0xe404d2(_0x1ea49d[_0x49b9('0x11')](0x1f5,_0x219e0e[_0x49b9('0x1c')]));});});},'VoiceQueues':function(_0x1957b5){return new Promise(function(_0x4773c0,_0x926a9a){var _0x41796e=[];for(var _0x36838d in _0x3208f6['voiceQueues']){if(_0x3208f6[_0x49b9('0x21')][_0x49b9('0x22')](_0x36838d)){var _0x76dadc=_0x3208f6['voiceQueues'][_0x36838d];var _0x5a04dd={'id':_0x76dadc['id'],'name':_0x76dadc[_0x49b9('0x9')],'strategy':_0x76dadc[_0x49b9('0x23')],'answered':_0x76dadc[_0x49b9('0x24')],'available':_0x76dadc[_0x49b9('0x25')],'loggedIn':_0x76dadc[_0x49b9('0x26')],'pTalking':_0x76dadc[_0x49b9('0x27')],'sumBillable':_0x76dadc[_0x49b9('0x28')],'sumDuration':_0x76dadc[_0x49b9('0x29')],'sumHoldTime':_0x76dadc[_0x49b9('0x2a')]||0x0,'talking':_0x76dadc[_0x49b9('0x2b')],'total':_0x76dadc['total'],'type':_0x76dadc[_0x49b9('0x2c')],'unmanaged':_0x76dadc[_0x49b9('0x2d')],'abandoned':_0x76dadc[_0x49b9('0x2e')],'waiting':_0x76dadc['waiting'],'loggedInDb':_0x76dadc[_0x49b9('0x2f')]};if(_0x76dadc[_0x49b9('0x2c')]==='outbound'){_0x5a04dd[_0x49b9('0x30')]=_0x76dadc['dialActive'];_0x5a04dd[_0x49b9('0x31')]=_0x76dadc[_0x49b9('0x31')];_0x5a04dd['dialOriginateCallerIdName']=_0x76dadc['dialOriginateCallerIdName'];_0x5a04dd['dialOriginateCallerIdNumber']=_0x76dadc[_0x49b9('0x32')];_0x5a04dd[_0x49b9('0x33')]=_0x76dadc['dialOriginateTimeout'];_0x5a04dd[_0x49b9('0x34')]=_0x76dadc[_0x49b9('0x34')];_0x5a04dd[_0x49b9('0x35')]=_0x76dadc[_0x49b9('0x35')];_0x5a04dd[_0x49b9('0x36')]=_0x76dadc[_0x49b9('0x36')];_0x5a04dd[_0x49b9('0x37')]=_0x76dadc[_0x49b9('0x37')];_0x5a04dd[_0x49b9('0x38')]=_0x76dadc[_0x49b9('0x38')];_0x5a04dd[_0x49b9('0x39')]=_0x76dadc[_0x49b9('0x39')];_0x5a04dd[_0x49b9('0x3a')]=_0x76dadc[_0x49b9('0x3a')];_0x5a04dd[_0x49b9('0x3b')]=_0x76dadc['outboundDropCallsDayCallersExit'];_0x5a04dd[_0x49b9('0x3c')]=_0x76dadc[_0x49b9('0x3c')];_0x5a04dd[_0x49b9('0x3d')]=_0x76dadc[_0x49b9('0x3d')];_0x5a04dd[_0x49b9('0x3e')]=_0x76dadc[_0x49b9('0x3e')];_0x5a04dd['outboundOriginateFailureCallsDay']=_0x76dadc[_0x49b9('0x3f')];_0x5a04dd[_0x49b9('0x40')]=_0x76dadc[_0x49b9('0x40')];_0x5a04dd[_0x49b9('0x41')]=_0x76dadc['outboundRejectCallsDay'];_0x5a04dd['outboundUnknownCallsDay']=_0x76dadc[_0x49b9('0x42')];_0x5a04dd[_0x49b9('0x43')]=_0x76dadc[_0x49b9('0x43')];_0x5a04dd[_0x49b9('0x44')]=_0x76dadc[_0x49b9('0x44')];_0x5a04dd[_0x49b9('0x45')]=_0x76dadc[_0x49b9('0x45')];_0x5a04dd[_0x49b9('0x46')]=_0x76dadc[_0x49b9('0x46')];_0x5a04dd[_0x49b9('0x47')]=_0x76dadc['predictiveIntervalDroppedCallsTimeout'];_0x5a04dd[_0x49b9('0x48')]=_0x76dadc[_0x49b9('0x48')];_0x5a04dd['predictiveIntervalErlangCallsDroppedCalls']=_0x76dadc[_0x49b9('0x49')];_0x5a04dd[_0x49b9('0x4a')]=_0x76dadc[_0x49b9('0x4a')];_0x5a04dd[_0x49b9('0x4b')]=_0x76dadc[_0x49b9('0x4b')];_0x5a04dd[_0x49b9('0x4c')]=_0x76dadc['predictiveIntervalPauses'];_0x5a04dd[_0x49b9('0x4d')]=_0x76dadc['predictiveIntervalAvailable'];_0x5a04dd[_0x49b9('0x4e')]=_0x76dadc['predictiveIntervalTotalCalls'];_0x5a04dd[_0x49b9('0x1c')]=_0x76dadc[_0x49b9('0x1c')];_0x5a04dd[_0x49b9('0x4f')]=_0x76dadc[_0x49b9('0x4f')];_0x5a04dd[_0x49b9('0x50')]=_0x76dadc[_0x49b9('0x50')];_0x5a04dd[_0x49b9('0x51')]=_0x76dadc[_0x49b9('0x51')];_0x5a04dd[_0x49b9('0x52')]=_0x76dadc[_0x49b9('0x52')];_0x5a04dd['erlangBusyFactor']=_0x76dadc[_0x49b9('0x53')];_0x5a04dd['startPredictive']=_0x76dadc[_0x49b9('0x54')];_0x5a04dd['startProgressive']=_0x76dadc[_0x49b9('0x55')];}if(_0x76dadc[_0x49b9('0x56')]){_0x5a04dd[_0x49b9('0x56')]={'id':_0x76dadc[_0x49b9('0x56')]['id'],'name':_0x76dadc[_0x49b9('0x56')][_0x49b9('0x9')],'active':_0x76dadc[_0x49b9('0x56')][_0x49b9('0x57')],'callerid':_0x76dadc[_0x49b9('0x56')]['callerid']};}if(_0x76dadc['Interval']){_0x5a04dd['Interval']={'id':_0x76dadc[_0x49b9('0x58')]['id'],'name':_0x76dadc[_0x49b9('0x58')][_0x49b9('0x9')]};}_0x41796e[_0x49b9('0x59')](_0x5a04dd);}}_0x4773c0({'count':_0x41796e[_0x49b9('0x5a')],'rows':_0x41796e});});},'VoiceChannels':function(_0x16466a){return new Promise(function(_0x37f461,_0x236640){var _0x4be8ff=_['values'](_0x3208f6[_0x49b9('0x5b')]);_0x37f461({'count':_0x4be8ff[_0x49b9('0x5a')],'rows':_0x4be8ff});});},'VoiceChannelMixMonitor':function(_0x3415f0){var _0x710a5f=this;return new Promise(function(_0x81dfcb,_0x34b9ef){if(ami[_0x49b9('0x1d')]()==![]){return _0x34b9ef(_0x710a5f['error'](0x1f4,[config[_0x49b9('0x12')]['ip'],config[_0x49b9('0x12')][_0x49b9('0x13')],_0x49b9('0x14')]['join']('\x20')));}var _0x43cb1f=schema(properties['voicechannel'])[_0x49b9('0x2')](_0x3415f0);if(_0x43cb1f[_0x49b9('0x5a')]>0x0){return _0x34b9ef(_0x710a5f['error'](0x1f4,_[_0x49b9('0x5c')](_0x43cb1f,'message')[_0x49b9('0x15')](',\x20')));}var _0x25ba14=_[_0x49b9('0x5d')](_0x3208f6[_0x49b9('0x5b')],{'uniqueid':_0x3415f0[_0x49b9('0x5e')]});if(_0x25ba14&&_0x25ba14[_0x49b9('0x5f')]){var _0x3863de=util['format'](_0x49b9('0x60'),_0x3415f0[_0x49b9('0x61')]||_0x3415f0['uniqueid'],_0x3415f0[_0x49b9('0x62')]||_0x49b9('0x63'));return ami[_0x49b9('0x1a')]({'action':_0x49b9('0x64'),'channel':_0x25ba14[_0x49b9('0x5f')],'file':_0x3863de,'options':_0x49b9('0x65')})[_0x49b9('0x1b')](function(_0x59f636){var _0x463bab=_[_0x49b9('0x5d')](_0x25ba14[_0x49b9('0x66')],{'filename':_0x49b9('0x67')+_0x3863de[_0x49b9('0x68')]()});if(_[_0x49b9('0x69')](_0x463bab)){_0x25ba14['monitors'][_0x49b9('0x59')]({'filename':'/var/spool/asterisk/monitor/'+_0x3863de['toLowerCase'](),'createdAt':moment()[_0x49b9('0x62')](_0x49b9('0x6a')),'mixmonitorid':_0x59f636[_0x49b9('0x6b')],'status':_0x49b9('0x6c')});}else{_0x463bab[_0x49b9('0x6b')]=_0x59f636[_0x49b9('0x6b')];_0x463bab[_0x49b9('0x6d')]='rec';}_0x81dfcb({'code':0xc8,'message':[_0x3415f0[_0x49b9('0x5e')],_0x49b9('0x6e'),_0x59f636['mixmonitorid']][_0x49b9('0x15')]('\x20'),'mixmonitorid':_0x59f636[_0x49b9('0x6b')]});})[_0x49b9('0x20')](function(_0x52d610){_0x34b9ef(_0x710a5f[_0x49b9('0x11')](0x1f5,[_0x3415f0[_0x49b9('0x5e')],_0x52d610[_0x49b9('0x1c')][_0x49b9('0x68')]()]['join']('\x20')));});}else{return _0x34b9ef(_0x710a5f['error'](0x1f5,'Channel\x20doesn\x27t\x20exist'));}});},'VoiceChannelStopMixMonitor':function(_0xb4ced5){var _0x2de51b=this;return new Promise(function(_0x56ea49,_0x1f83e4){if(ami[_0x49b9('0x1d')]()==![]){return _0x1f83e4(_0x2de51b[_0x49b9('0x11')](0x1f4,[config[_0x49b9('0x12')]['ip'],config['asterisk'][_0x49b9('0x13')],'ami\x20disconnected']['join']('\x20')));}var _0x30e79f=schema(properties[_0x49b9('0x6f')])['validate'](_0xb4ced5);if(_0x30e79f[_0x49b9('0x5a')]>0x0){return _0x1f83e4(_0x2de51b['error'](0x1f4,_['map'](_0x30e79f,'message')['join'](',\x20')));}var _0x2aaa75=_[_0x49b9('0x5d')](_0x3208f6[_0x49b9('0x5b')],{'uniqueid':_0xb4ced5['uniqueid']});if(_0x2aaa75){return BPromise[_0x49b9('0x70')]()[_0x49b9('0x1b')](function(){if(_0x2aaa75[_0x49b9('0x5f')]){return ami['Action']({'action':_0x49b9('0x71'),'channel':_0x2aaa75[_0x49b9('0x5f')],'mixmonitorid':_0xb4ced5[_0x49b9('0x6b')]})[_0x49b9('0x20')](function(_0x12ee1f){});}})[_0x49b9('0x1b')](function(){if(_0x2aaa75[_0x49b9('0x72')]){return ami[_0x49b9('0x1a')]({'action':_0x49b9('0x71'),'channel':_0x2aaa75[_0x49b9('0x72')],'mixmonitorid':_0xb4ced5['mixmonitorid']})[_0x49b9('0x20')](function(_0x224516){});}})[_0x49b9('0x1b')](function(_0x522850){var _0x15f057=_['find'](_0x2aaa75[_0x49b9('0x66')],{'mixmonitorid':_0xb4ced5[_0x49b9('0x6b')]});if(_0x15f057){_0x15f057[_0x49b9('0x6d')]='stop';}})[_0x49b9('0x1b')](function(){var _0x2785da=util[_0x49b9('0x62')]('%s.%s',_0xb4ced5[_0x49b9('0x61')]||_0xb4ced5[_0x49b9('0x5e')],_0xb4ced5[_0x49b9('0x62')]||'wav');var _0x3b2515=_[_0x49b9('0x5d')](_0x2aaa75[_0x49b9('0x66')],{'filename':_0x49b9('0x67')+_0x2785da[_0x49b9('0x68')]()});if(_0x3b2515){_0x3b2515[_0x49b9('0x6d')]=_0x49b9('0x73');}})[_0x49b9('0x1b')](function(){_0x56ea49({'code':0xc8,'message':[_0xb4ced5[_0x49b9('0x5e')],_0x49b9('0x74')]['join']('\x20')});})[_0x49b9('0x20')](function(_0x92428f){_0x1f83e4(_0x2de51b[_0x49b9('0x11')](0x1f5,[_0xb4ced5['uniqueid'],_0x92428f['message'][_0x49b9('0x68')]()]['join']('\x20')));});}else{return _0x1f83e4(_0x2de51b[_0x49b9('0x11')](0x1f5,'Channel\x20doesn\x27t\x20exist'));}});},'VoiceQueuesChannels':function(_0x3ea891){return new Promise(function(_0x14cfb8,_0x371590){var _0x31690e=_[_0x49b9('0x75')](_0x3208f6[_0x49b9('0x76')]);_0x14cfb8({'count':_0x31690e[_0x49b9('0x5a')],'rows':_0x31690e});});},'VoiceQueuesChannel':function(_0x40b15e){var _0x4bc6b3=this;return new Promise(function(_0x3d2f9b,_0x3a7841){var _0x33c7a9=schema(properties[_0x49b9('0x77')])[_0x49b9('0x2')](_0x40b15e);if(_0x33c7a9[_0x49b9('0x5a')]>0x0){return _0x3a7841(_0x4bc6b3[_0x49b9('0x11')](0x1f4,_[_0x49b9('0x5c')](_0x33c7a9,'message')[_0x49b9('0x15')](',\x20')));}var _0x33c8fd=_['find'](_0x3208f6[_0x49b9('0x76')],{'uniqueid':_0x40b15e['uniqueid']});if(_0x33c8fd){_0x3d2f9b(_0x33c8fd);}else{return _0x3a7841(_0x4bc6b3['error'](0x1f5,_0x49b9('0x78')));}});},'VoiceQueuesChannelHangup':function(_0x216cae){var _0xe21bc3=this;return new Promise(function(_0xb2545b,_0x3458ec){if(ami[_0x49b9('0x1d')]()==![]){return _0x3458ec(_0xe21bc3[_0x49b9('0x11')](0x1f4,[config['asterisk']['ip'],config['asterisk']['username'],_0x49b9('0x14')][_0x49b9('0x15')]('\x20')));}var _0x4cb970=schema(properties['voicequeuechannelhangup'])[_0x49b9('0x2')](_0x216cae);if(_0x4cb970[_0x49b9('0x5a')]>0x0){return _0x3458ec(_0xe21bc3[_0x49b9('0x11')](0x1f4,_[_0x49b9('0x5c')](_0x4cb970,_0x49b9('0x1c'))[_0x49b9('0x15')](',\x20')));}var _0x49798d=_[_0x49b9('0x5d')](_0x3208f6[_0x49b9('0x76')],{'uniqueid':_0x216cae['uniqueid']});if(_0x49798d&&_0x49798d[_0x49b9('0x5f')]){return ami[_0x49b9('0x1a')]({'action':_0x49b9('0x79'),'channel':_0x49798d[_0x49b9('0x5f')]})[_0x49b9('0x1b')](function(_0x3fc748){_0xb2545b({'code':0xc8,'message':[_0x216cae[_0x49b9('0x5e')],_0x3fc748[_0x49b9('0x1c')][_0x49b9('0x68')]()][_0x49b9('0x15')]('\x20')});})[_0x49b9('0x20')](function(_0x2685fb){_0x3458ec(_0xe21bc3['error'](0x1f5,[_0x216cae[_0x49b9('0x5e')],_0x2685fb['message']['toLowerCase']()]['join']('\x20')));});}else{return _0x3458ec(_0xe21bc3[_0x49b9('0x11')](0x1f5,_0x49b9('0x78')));}});},'VoiceQueuesChannelRedirect':function(_0x5cf988){var _0x579fef=this;return new Promise(function(_0x39dcd2,_0x3474be){if(ami['isConnected']()==![]){return _0x3474be(_0x579fef[_0x49b9('0x11')](0x1f4,[config[_0x49b9('0x12')]['ip'],config[_0x49b9('0x12')][_0x49b9('0x13')],'ami\x20disconnected'][_0x49b9('0x15')]('\x20')));}var _0x2b4561=schema(properties['voicequeuechannelredirect'])['validate'](_0x5cf988);if(_0x2b4561[_0x49b9('0x5a')]>0x0){return _0x3474be(_0x579fef['error'](0x1f4,_[_0x49b9('0x5c')](_0x2b4561,_0x49b9('0x1c'))[_0x49b9('0x15')](',\x20')));}var _0x129b03=_[_0x49b9('0x5d')](_0x3208f6[_0x49b9('0x76')],{'uniqueid':_0x5cf988[_0x49b9('0x5e')]});if(_0x129b03&&_0x129b03[_0x49b9('0x5f')]){return ami[_0x49b9('0x1a')]({'action':'Redirect','channel':_0x129b03[_0x49b9('0x5f')],'exten':_0x5cf988[_0x49b9('0x7a')],'context':_0x5cf988[_0x49b9('0x7b')]||_0x129b03[_0x49b9('0x7b')],'priority':0x1})[_0x49b9('0x1b')](function(_0x3f204d){_0x39dcd2({'code':0xc8,'message':[_0x5cf988[_0x49b9('0x5e')],_0x3f204d[_0x49b9('0x1c')][_0x49b9('0x68')]()][_0x49b9('0x15')]('\x20')});})[_0x49b9('0x20')](function(_0x11f6fa){_0x3474be(_0x579fef[_0x49b9('0x11')](0x1f5,[_0x5cf988[_0x49b9('0x5e')],_0x11f6fa[_0x49b9('0x1c')][_0x49b9('0x68')]()][_0x49b9('0x15')]('\x20')));});}else{return _0x3474be(_0x579fef['error'](0x1f5,_0x49b9('0x78')));}});},'Agents':function(_0x29c41c){return new Promise(function(_0x2d5d3c,_0x21123b){var _0x578618=_[_0x49b9('0x75')](_0x3208f6[_0x49b9('0xd')]);_0x2d5d3c({'count':_0x578618['length'],'rows':_0x578618});});},'Telephones':function(_0x318595){return new Promise(function(_0x514015,_0x1dd66d){var _0x48a354=_['values'](_0x3208f6['telephones']);_0x514015({'count':_0x48a354['length'],'rows':_0x48a354});});},'Trunks':function(_0x440728){return new Promise(function(_0x11d23f,_0x1319d2){var _0x5c9572=_[_0x49b9('0x75')](_0x3208f6[_0x49b9('0x7c')]);_0x11d23f({'count':_0x5c9572[_0x49b9('0x5a')],'rows':_0x5c9572});});},'OutboundChannels':function(_0x50c74b){return new Promise(function(_0x146b7c,_0x2f8ecd){var _0x399359=_[_0x49b9('0x75')](_0x3208f6[_0x49b9('0x7d')]);_0x146b7c({'count':_0x399359['length'],'rows':_0x399359});});},'Outbound':function(_0x3bcfe0){return new Promise(function(_0xb85646,_0x4dd960){_0xb85646(_0x3208f6['outbound']);});},'Campaigns':function(_0x52115a){return new Promise(function(_0x55499e,_0xd5c42f){var _0x441d52=_['values'](_0x3208f6[_0x49b9('0x7e')]);_0x55499e({'count':_0x441d52[_0x49b9('0x5a')],'rows':_0x441d52});});},'VoiceQueuesPreview':function(_0x5adfc1){var _0x1d597a=this;return new Promise(function(_0x1801f4,_0x50a842){_0x4f8c63['run'](_0x5adfc1['id'])['then'](function(_0x3a63ed){_0x1801f4({'code':0xc8,'message':_0x3a63ed[_0x49b9('0x1c')]});})['catch'](function(_0x1b868d){_0x50a842(_0x1d597a[_0x49b9('0x11')](0x1f4,_0x1b868d[_0x49b9('0x1c')]));});});},'EventManager':function(_0x1690cf){var _0x332fb3=this;return new Promise(function(_0x22ad89,_0x22c80c){if(!_0x1690cf[_0x49b9('0x7f')]){return _0x22c80c(_0x332fb3[_0x49b9('0x11')](0x1f4,_0x49b9('0x80')));}ami[_0x49b9('0x81')](_0x49b9('0x82')+_0x1690cf[_0x49b9('0x7f')],_0x1690cf[_0x49b9('0x1c')]);_0x22ad89({'code':0xc8,'message':_0x1690cf});});},'FaxAccounts':function(_0x4eb8d6){return new Promise(function(_0x37682d,_0x3a8034){var _0x22b0c6=_['values'](_0x3208f6['faxAccounts']);_0x37682d({'count':_0x22b0c6[_0x49b9('0x5a')],'rows':_0x22b0c6});});},'SendFax':function(_0x1e2b22){var _0x5115da=this;return new Promise(function(_0x2902de,_0x1337e4){_0x5bd75d[_0x49b9('0x83')](_0x1e2b22)[_0x49b9('0x1b')](function(_0x310b4e){_0x2902de({'code':0xc8,'message':_0x310b4e[_0x49b9('0x1c')]});})[_0x49b9('0x20')](function(_0x7d714b){_0x1337e4(_0x5115da[_0x49b9('0x11')](0x1f4,_0x7d714b['message']));});});},'CheckAfterSend':function(_0x39341e){var _0x5d5255=this;return new Promise(function(_0x7cdeb9,_0x96ad88){_0x5bd75d[_0x49b9('0x84')](_0x39341e)[_0x49b9('0x1b')](function(_0x22a211){_0x7cdeb9({'code':0xc8,'message':_0x22a211[_0x49b9('0x1c')]});})['catch'](function(_0x520e70){_0x96ad88(_0x5d5255['error'](0x1f4,_0x520e70[_0x49b9('0x1c')]));});});}};var _0x5e86ed=jayson['server'](_0x48a32e)[_0x49b9('0x85')]();_0x5e86ed['on']('error',function(_0x34a657){return _0x2031e0(_0x34a657);});_0x5e86ed['listen'](0x232a,_0x49b9('0x86'),function(){console[_0x49b9('0x87')]('AMI\x20RPC\x20server\x20listening\x20on\x20127.0.0.1:%d!',0x232a);return _0x8785d4(_0x49b9('0x88')+0x232a);});});};