Built motion from commit (unavailable).|2.5.14
[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 _0xad86=['MixMonitor','ai(mixmonitorid)','monitors','/var/spool/asterisk/monitor/','toLowerCase','isNil','YYYY-MM-DD\x20HH:mm:ss','rec','mixmonitorid','status','MixMonitor\x20Success','Channel\x20doesn\x27t\x20exist','map','resolve','StopMixMonitor','destinationchannel','stop','%s.%s','StopMixMonitor\x20Success','queueChannels','voicequeuechannel','voicequeuechannelhangup','Hangup','Redirect','exten','context','telephones','trunks','outboundChannels','campaigns','run','event','Event\x20name\x20mandatory','emit','send','127.0.0.1','log','RPC\x20listening\x20on\x20port:','lodash','util','jayson/promise','validate','bluebird','../../../config/environment','../ami','listen','format','%s/%s','name','timers','updateAcw','agents','QueuePause','isConnected','error','asterisk','join','pick','keys','Reload','Action','then','catch','username','ami\x20disconnected','Command','voiceQueues','hasOwnProperty','strategy','answered','available','loggedIn','sumBillable','sumDuration','sumHoldTime','talking','total','type','unmanaged','abandoned','loggedInDb','outbound','dialActive','dialMethod','dialOriginateCallerIdName','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','message','originated','erlangCallToSecond','erlangAbandonmentRate','erlangBusyFactor','startPredictive','startProgressive','Trunk','active','Interval','push','length','values','channels','voicechannel','find','uniqueid','channel','filename','wav'];(function(_0x7633c,_0x1e45bf){var _0x1b77e2=function(_0x4c3e7f){while(--_0x4c3e7f){_0x7633c['push'](_0x7633c['shift']());}};_0x1b77e2(++_0x1e45bf);}(_0xad86,0x1b5));var _0x6ad8=function(_0x5befc0,_0x48f1bf){_0x5befc0=_0x5befc0-0x0;var _0x1ea7d8=_0xad86[_0x5befc0];return _0x1ea7d8;};'use strict';var _=require(_0x6ad8('0x0'));var util=require(_0x6ad8('0x1'));var jayson=require(_0x6ad8('0x2'));var schema=require(_0x6ad8('0x3'));var BPromise=require(_0x6ad8('0x4'));var moment=require('moment');var config=require(_0x6ad8('0x5'));var properties=require('../properties');var ami=require(_0x6ad8('0x6'));exports[_0x6ad8('0x7')]=function(_0x4c7be8,_0x67a9fa,_0x5113f3){return new BPromise(function(_0x2af3f7,_0x4c59cf){var _0x4e6599={'QueuePause':function(_0x4bfd14){return new Promise(function(_0x1f2784,_0x4ad881){var _0x120ed4=util[_0x6ad8('0x8')](_0x6ad8('0x9'),'SIP',_0x4bfd14[_0x6ad8('0xa')]);if(_0x4c7be8[_0x6ad8('0xb')]&&_0x4c7be8[_0x6ad8('0xb')][_0x120ed4]&&_0x4c7be8[_0x6ad8('0xb')][_0x120ed4]['timer']){_0x4c7be8['timers'][_0x120ed4][_0x6ad8('0xc')]();}if(_0x4c7be8[_0x6ad8('0xd')][_0x120ed4]){_0x4c7be8[_0x6ad8('0xd')][_0x120ed4]['updateStatusRealtime']({'statePause':_0x4bfd14['pause']?!![]:![]});}_0x1f2784({'code':0xc8,'message':_0x6ad8('0xe')});});},'Reload':function(_0x327450){var _0x34e279=this;return new Promise(function(_0x5259f6,_0x2a18e5){if(ami[_0x6ad8('0xf')]()==![]){return _0x2a18e5(_0x34e279[_0x6ad8('0x10')](0x1f4,[config['asterisk']['ip'],config[_0x6ad8('0x11')]['username'],'ami\x20disconnected'][_0x6ad8('0x12')]('\x20')));}_0x327450=_[_0x6ad8('0x13')](_0x327450,_[_0x6ad8('0x14')](properties['module']));_0x327450['action']=_0x6ad8('0x15');return ami[_0x6ad8('0x16')](_0x327450)[_0x6ad8('0x17')](function(_0x39c508){_0x5259f6({'code':0xc8,'message':_0x39c508['message']});})[_0x6ad8('0x18')](function(_0xc27f75){_0x2a18e5(_0x34e279[_0x6ad8('0x10')](0x1f5,_0xc27f75['message']));});});},'Command':function(_0x2a4e5c){var _0x23a852=this;return new Promise(function(_0x55443e,_0x532c14){if(ami['isConnected']()==![]){return _0x532c14(_0x23a852[_0x6ad8('0x10')](0x1f4,[config[_0x6ad8('0x11')]['ip'],config['asterisk'][_0x6ad8('0x19')],_0x6ad8('0x1a')][_0x6ad8('0x12')]('\x20')));}_0x2a4e5c=_[_0x6ad8('0x13')](_0x2a4e5c,'command');_0x2a4e5c['action']=_0x6ad8('0x1b');return ami[_0x6ad8('0x16')](_0x2a4e5c)[_0x6ad8('0x17')](function(_0x25b3c6){_0x55443e({'code':0xc8,'message':_0x25b3c6['content']});})[_0x6ad8('0x18')](function(_0x3fa636){_0x532c14(_0x23a852['error'](0x1f5,_0x3fa636['message']));});});},'VoiceQueues':function(_0x2dfd33){return new Promise(function(_0x4500b4,_0x30835f){var _0x1bcb8f=[];for(var _0x2b299b in _0x4c7be8['voiceQueues']){if(_0x4c7be8[_0x6ad8('0x1c')][_0x6ad8('0x1d')](_0x2b299b)){var _0x1c873f=_0x4c7be8[_0x6ad8('0x1c')][_0x2b299b];var _0x58d5cd={'id':_0x1c873f['id'],'name':_0x1c873f[_0x6ad8('0xa')],'strategy':_0x1c873f[_0x6ad8('0x1e')],'answered':_0x1c873f[_0x6ad8('0x1f')],'available':_0x1c873f[_0x6ad8('0x20')],'loggedIn':_0x1c873f[_0x6ad8('0x21')],'pTalking':_0x1c873f['pTalking'],'sumBillable':_0x1c873f[_0x6ad8('0x22')],'sumDuration':_0x1c873f[_0x6ad8('0x23')],'sumHoldTime':_0x1c873f[_0x6ad8('0x24')]||0x0,'talking':_0x1c873f[_0x6ad8('0x25')],'total':_0x1c873f[_0x6ad8('0x26')],'type':_0x1c873f[_0x6ad8('0x27')],'unmanaged':_0x1c873f[_0x6ad8('0x28')],'abandoned':_0x1c873f[_0x6ad8('0x29')],'waiting':_0x1c873f['waiting'],'loggedInDb':_0x1c873f[_0x6ad8('0x2a')]};if(_0x1c873f['type']===_0x6ad8('0x2b')){_0x58d5cd[_0x6ad8('0x2c')]=_0x1c873f[_0x6ad8('0x2c')];_0x58d5cd[_0x6ad8('0x2d')]=_0x1c873f[_0x6ad8('0x2d')];_0x58d5cd['dialOriginateCallerIdName']=_0x1c873f[_0x6ad8('0x2e')];_0x58d5cd['dialOriginateCallerIdNumber']=_0x1c873f['dialOriginateCallerIdNumber'];_0x58d5cd[_0x6ad8('0x2f')]=_0x1c873f[_0x6ad8('0x2f')];_0x58d5cd[_0x6ad8('0x30')]=_0x1c873f[_0x6ad8('0x30')];_0x58d5cd[_0x6ad8('0x31')]=_0x1c873f[_0x6ad8('0x31')];_0x58d5cd[_0x6ad8('0x32')]=_0x1c873f['outboundAnswerCallsDay'];_0x58d5cd[_0x6ad8('0x33')]=_0x1c873f[_0x6ad8('0x33')];_0x58d5cd['outboundBusyCallsDay']=_0x1c873f[_0x6ad8('0x34')];_0x58d5cd['outboundCongestionCallsDay']=_0x1c873f[_0x6ad8('0x35')];_0x58d5cd[_0x6ad8('0x36')]=_0x1c873f[_0x6ad8('0x36')];_0x58d5cd[_0x6ad8('0x37')]=_0x1c873f['outboundDropCallsDayCallersExit'];_0x58d5cd[_0x6ad8('0x38')]=_0x1c873f[_0x6ad8('0x38')];_0x58d5cd[_0x6ad8('0x39')]=_0x1c873f[_0x6ad8('0x39')];_0x58d5cd[_0x6ad8('0x3a')]=_0x1c873f[_0x6ad8('0x3a')];_0x58d5cd[_0x6ad8('0x3b')]=_0x1c873f['outboundOriginateFailureCallsDay'];_0x58d5cd[_0x6ad8('0x3c')]=_0x1c873f['outboundReCallsDay'];_0x58d5cd[_0x6ad8('0x3d')]=_0x1c873f[_0x6ad8('0x3d')];_0x58d5cd['outboundUnknownCallsDay']=_0x1c873f[_0x6ad8('0x3e')];_0x58d5cd[_0x6ad8('0x3f')]=_0x1c873f['predictiveIntervalAnsweredCalls'];_0x58d5cd[_0x6ad8('0x40')]=_0x1c873f['predictiveIntervalAvgHoldtime'];_0x58d5cd[_0x6ad8('0x41')]=_0x1c873f['predictiveIntervalAvgTalktime'];_0x58d5cd[_0x6ad8('0x42')]=_0x1c873f['predictiveIntervalDroppedCallsCallersExit'];_0x58d5cd[_0x6ad8('0x43')]=_0x1c873f[_0x6ad8('0x43')];_0x58d5cd[_0x6ad8('0x44')]=_0x1c873f[_0x6ad8('0x44')];_0x58d5cd['predictiveIntervalErlangCallsDroppedCalls']=_0x1c873f[_0x6ad8('0x45')];_0x58d5cd[_0x6ad8('0x46')]=_0x1c873f['predictiveIntervalHitRate'];_0x58d5cd[_0x6ad8('0x47')]=_0x1c873f[_0x6ad8('0x47')];_0x58d5cd[_0x6ad8('0x48')]=_0x1c873f[_0x6ad8('0x48')];_0x58d5cd[_0x6ad8('0x49')]=_0x1c873f[_0x6ad8('0x49')];_0x58d5cd['predictiveIntervalTotalCalls']=_0x1c873f[_0x6ad8('0x4a')];_0x58d5cd[_0x6ad8('0x4b')]=_0x1c873f['message'];_0x58d5cd[_0x6ad8('0x4c')]=_0x1c873f['originated'];_0x58d5cd['erlangCalls']=_0x1c873f['erlangCalls'];_0x58d5cd[_0x6ad8('0x4d')]=_0x1c873f['erlangCallToSecond'];_0x58d5cd[_0x6ad8('0x4e')]=_0x1c873f[_0x6ad8('0x4e')];_0x58d5cd['erlangBusyFactor']=_0x1c873f[_0x6ad8('0x4f')];_0x58d5cd['startPredictive']=_0x1c873f[_0x6ad8('0x50')];_0x58d5cd[_0x6ad8('0x51')]=_0x1c873f[_0x6ad8('0x51')];}if(_0x1c873f[_0x6ad8('0x52')]){_0x58d5cd[_0x6ad8('0x52')]={'id':_0x1c873f['Trunk']['id'],'name':_0x1c873f[_0x6ad8('0x52')][_0x6ad8('0xa')],'active':_0x1c873f[_0x6ad8('0x52')][_0x6ad8('0x53')],'callerid':_0x1c873f['Trunk']['callerid']};}if(_0x1c873f[_0x6ad8('0x54')]){_0x58d5cd[_0x6ad8('0x54')]={'id':_0x1c873f[_0x6ad8('0x54')]['id'],'name':_0x1c873f[_0x6ad8('0x54')][_0x6ad8('0xa')]};}_0x1bcb8f[_0x6ad8('0x55')](_0x58d5cd);}}_0x4500b4({'count':_0x1bcb8f[_0x6ad8('0x56')],'rows':_0x1bcb8f});});},'VoiceChannels':function(_0x6e0005){return new Promise(function(_0x1890c5,_0xa2fd28){var _0xd4ddb0=_[_0x6ad8('0x57')](_0x4c7be8[_0x6ad8('0x58')]);_0x1890c5({'count':_0xd4ddb0[_0x6ad8('0x56')],'rows':_0xd4ddb0});});},'VoiceChannelMixMonitor':function(_0x3d0ce9){var _0x333b62=this;return new Promise(function(_0xe04fc2,_0x2294a6){if(ami[_0x6ad8('0xf')]()==![]){return _0x2294a6(_0x333b62['error'](0x1f4,[config[_0x6ad8('0x11')]['ip'],config[_0x6ad8('0x11')][_0x6ad8('0x19')],_0x6ad8('0x1a')][_0x6ad8('0x12')]('\x20')));}var _0x22e8b5=schema(properties[_0x6ad8('0x59')])['validate'](_0x3d0ce9);if(_0x22e8b5['length']>0x0){return _0x2294a6(_0x333b62[_0x6ad8('0x10')](0x1f4,_['map'](_0x22e8b5,_0x6ad8('0x4b'))[_0x6ad8('0x12')](',\x20')));}var _0x217f00=_[_0x6ad8('0x5a')](_0x4c7be8[_0x6ad8('0x58')],{'uniqueid':_0x3d0ce9[_0x6ad8('0x5b')]});if(_0x217f00&&_0x217f00[_0x6ad8('0x5c')]){var _0x8673fd=util[_0x6ad8('0x8')]('%s.%s',_0x3d0ce9[_0x6ad8('0x5d')]||_0x3d0ce9[_0x6ad8('0x5b')],_0x3d0ce9['format']||_0x6ad8('0x5e'));return ami[_0x6ad8('0x16')]({'action':_0x6ad8('0x5f'),'channel':_0x217f00[_0x6ad8('0x5c')],'file':_0x8673fd,'options':_0x6ad8('0x60')})[_0x6ad8('0x17')](function(_0x453d67){var _0x1b56b5=_[_0x6ad8('0x5a')](_0x217f00[_0x6ad8('0x61')],{'filename':_0x6ad8('0x62')+_0x8673fd[_0x6ad8('0x63')]()});if(_[_0x6ad8('0x64')](_0x1b56b5)){_0x217f00['monitors'][_0x6ad8('0x55')]({'filename':_0x6ad8('0x62')+_0x8673fd[_0x6ad8('0x63')](),'createdAt':moment()[_0x6ad8('0x8')](_0x6ad8('0x65')),'mixmonitorid':_0x453d67['mixmonitorid'],'status':_0x6ad8('0x66')});}else{_0x1b56b5[_0x6ad8('0x67')]=_0x453d67['mixmonitorid'];_0x1b56b5[_0x6ad8('0x68')]=_0x6ad8('0x66');}_0xe04fc2({'code':0xc8,'message':[_0x3d0ce9[_0x6ad8('0x5b')],_0x6ad8('0x69'),_0x453d67[_0x6ad8('0x67')]][_0x6ad8('0x12')]('\x20'),'mixmonitorid':_0x453d67[_0x6ad8('0x67')]});})[_0x6ad8('0x18')](function(_0x5e0984){_0x2294a6(_0x333b62[_0x6ad8('0x10')](0x1f5,[_0x3d0ce9['uniqueid'],_0x5e0984['message'][_0x6ad8('0x63')]()]['join']('\x20')));});}else{return _0x2294a6(_0x333b62[_0x6ad8('0x10')](0x1f5,_0x6ad8('0x6a')));}});},'VoiceChannelStopMixMonitor':function(_0x56f8bb){var _0x5d8d2e=this;return new Promise(function(_0x16d6f2,_0xf3681c){if(ami[_0x6ad8('0xf')]()==![]){return _0xf3681c(_0x5d8d2e[_0x6ad8('0x10')](0x1f4,[config[_0x6ad8('0x11')]['ip'],config['asterisk']['username'],'ami\x20disconnected'][_0x6ad8('0x12')]('\x20')));}var _0x7dd74b=schema(properties['voicechannel'])[_0x6ad8('0x3')](_0x56f8bb);if(_0x7dd74b[_0x6ad8('0x56')]>0x0){return _0xf3681c(_0x5d8d2e[_0x6ad8('0x10')](0x1f4,_[_0x6ad8('0x6b')](_0x7dd74b,'message')[_0x6ad8('0x12')](',\x20')));}var _0x274f3f=_[_0x6ad8('0x5a')](_0x4c7be8[_0x6ad8('0x58')],{'uniqueid':_0x56f8bb['uniqueid']});if(_0x274f3f){return BPromise[_0x6ad8('0x6c')]()[_0x6ad8('0x17')](function(){if(_0x274f3f[_0x6ad8('0x5c')]){return ami[_0x6ad8('0x16')]({'action':_0x6ad8('0x6d'),'channel':_0x274f3f[_0x6ad8('0x5c')],'mixmonitorid':_0x56f8bb['mixmonitorid']})['catch'](function(_0x28b131){});}})[_0x6ad8('0x17')](function(){if(_0x274f3f[_0x6ad8('0x6e')]){return ami[_0x6ad8('0x16')]({'action':_0x6ad8('0x6d'),'channel':_0x274f3f['destinationchannel'],'mixmonitorid':_0x56f8bb[_0x6ad8('0x67')]})[_0x6ad8('0x18')](function(_0xba7018){});}})['then'](function(_0x41d153){var _0x5a5868=_['find'](_0x274f3f[_0x6ad8('0x61')],{'mixmonitorid':_0x56f8bb['mixmonitorid']});if(_0x5a5868){_0x5a5868[_0x6ad8('0x68')]=_0x6ad8('0x6f');}})[_0x6ad8('0x17')](function(){var _0x3aa304=util[_0x6ad8('0x8')](_0x6ad8('0x70'),_0x56f8bb[_0x6ad8('0x5d')]||_0x56f8bb[_0x6ad8('0x5b')],_0x56f8bb[_0x6ad8('0x8')]||_0x6ad8('0x5e'));var _0x34e82a=_[_0x6ad8('0x5a')](_0x274f3f[_0x6ad8('0x61')],{'filename':'/var/spool/asterisk/monitor/'+_0x3aa304[_0x6ad8('0x63')]()});if(_0x34e82a){_0x34e82a[_0x6ad8('0x68')]='stop';}})[_0x6ad8('0x17')](function(){_0x16d6f2({'code':0xc8,'message':[_0x56f8bb[_0x6ad8('0x5b')],_0x6ad8('0x71')]['join']('\x20')});})[_0x6ad8('0x18')](function(_0x47349d){_0xf3681c(_0x5d8d2e[_0x6ad8('0x10')](0x1f5,[_0x56f8bb[_0x6ad8('0x5b')],_0x47349d['message']['toLowerCase']()][_0x6ad8('0x12')]('\x20')));});}else{return _0xf3681c(_0x5d8d2e[_0x6ad8('0x10')](0x1f5,_0x6ad8('0x6a')));}});},'VoiceQueuesChannels':function(_0x2211d8){return new Promise(function(_0x205bf1,_0x21cec8){var _0xe79602=_[_0x6ad8('0x57')](_0x4c7be8[_0x6ad8('0x72')]);_0x205bf1({'count':_0xe79602[_0x6ad8('0x56')],'rows':_0xe79602});});},'VoiceQueuesChannel':function(_0x2baabf){var _0x18de26=this;return new Promise(function(_0x34918e,_0x1d228f){var _0x343480=schema(properties[_0x6ad8('0x73')])[_0x6ad8('0x3')](_0x2baabf);if(_0x343480[_0x6ad8('0x56')]>0x0){return _0x1d228f(_0x18de26[_0x6ad8('0x10')](0x1f4,_[_0x6ad8('0x6b')](_0x343480,_0x6ad8('0x4b'))[_0x6ad8('0x12')](',\x20')));}var _0x4fad91=_[_0x6ad8('0x5a')](_0x4c7be8[_0x6ad8('0x72')],{'uniqueid':_0x2baabf['uniqueid']});if(_0x4fad91){_0x34918e(_0x4fad91);}else{return _0x1d228f(_0x18de26[_0x6ad8('0x10')](0x1f5,_0x6ad8('0x6a')));}});},'VoiceQueuesChannelHangup':function(_0x49bf0e){var _0x4ebe6b=this;return new Promise(function(_0x1ee902,_0x85fc27){if(ami['isConnected']()==![]){return _0x85fc27(_0x4ebe6b[_0x6ad8('0x10')](0x1f4,[config[_0x6ad8('0x11')]['ip'],config['asterisk']['username'],'ami\x20disconnected'][_0x6ad8('0x12')]('\x20')));}var _0x26220b=schema(properties[_0x6ad8('0x74')])['validate'](_0x49bf0e);if(_0x26220b[_0x6ad8('0x56')]>0x0){return _0x85fc27(_0x4ebe6b[_0x6ad8('0x10')](0x1f4,_[_0x6ad8('0x6b')](_0x26220b,_0x6ad8('0x4b'))[_0x6ad8('0x12')](',\x20')));}var _0x16a2a5=_[_0x6ad8('0x5a')](_0x4c7be8[_0x6ad8('0x72')],{'uniqueid':_0x49bf0e[_0x6ad8('0x5b')]});if(_0x16a2a5&&_0x16a2a5[_0x6ad8('0x5c')]){return ami[_0x6ad8('0x16')]({'action':_0x6ad8('0x75'),'channel':_0x16a2a5[_0x6ad8('0x5c')]})['then'](function(_0x471f14){_0x1ee902({'code':0xc8,'message':[_0x49bf0e[_0x6ad8('0x5b')],_0x471f14[_0x6ad8('0x4b')][_0x6ad8('0x63')]()]['join']('\x20')});})[_0x6ad8('0x18')](function(_0x5c614c){_0x85fc27(_0x4ebe6b[_0x6ad8('0x10')](0x1f5,[_0x49bf0e[_0x6ad8('0x5b')],_0x5c614c[_0x6ad8('0x4b')][_0x6ad8('0x63')]()][_0x6ad8('0x12')]('\x20')));});}else{return _0x85fc27(_0x4ebe6b[_0x6ad8('0x10')](0x1f5,_0x6ad8('0x6a')));}});},'VoiceQueuesChannelRedirect':function(_0x1b3cbf){var _0x2d01c9=this;return new Promise(function(_0x5a924d,_0x16c803){if(ami[_0x6ad8('0xf')]()==![]){return _0x16c803(_0x2d01c9[_0x6ad8('0x10')](0x1f4,[config[_0x6ad8('0x11')]['ip'],config[_0x6ad8('0x11')][_0x6ad8('0x19')],_0x6ad8('0x1a')][_0x6ad8('0x12')]('\x20')));}var _0x358c0d=schema(properties['voicequeuechannelredirect'])[_0x6ad8('0x3')](_0x1b3cbf);if(_0x358c0d['length']>0x0){return _0x16c803(_0x2d01c9[_0x6ad8('0x10')](0x1f4,_['map'](_0x358c0d,_0x6ad8('0x4b'))[_0x6ad8('0x12')](',\x20')));}var _0x1ef8f0=_[_0x6ad8('0x5a')](_0x4c7be8[_0x6ad8('0x72')],{'uniqueid':_0x1b3cbf[_0x6ad8('0x5b')]});if(_0x1ef8f0&&_0x1ef8f0[_0x6ad8('0x5c')]){return ami['Action']({'action':_0x6ad8('0x76'),'channel':_0x1ef8f0[_0x6ad8('0x5c')],'exten':_0x1b3cbf[_0x6ad8('0x77')],'context':_0x1b3cbf[_0x6ad8('0x78')]||_0x1ef8f0['context'],'priority':0x1})['then'](function(_0x2453e7){_0x5a924d({'code':0xc8,'message':[_0x1b3cbf[_0x6ad8('0x5b')],_0x2453e7[_0x6ad8('0x4b')][_0x6ad8('0x63')]()][_0x6ad8('0x12')]('\x20')});})[_0x6ad8('0x18')](function(_0x234b6f){_0x16c803(_0x2d01c9[_0x6ad8('0x10')](0x1f5,[_0x1b3cbf['uniqueid'],_0x234b6f[_0x6ad8('0x4b')][_0x6ad8('0x63')]()]['join']('\x20')));});}else{return _0x16c803(_0x2d01c9[_0x6ad8('0x10')](0x1f5,'Channel\x20doesn\x27t\x20exist'));}});},'Agents':function(_0x4818eb){return new Promise(function(_0x19f5fd,_0x3b76a7){var _0x34292b=_[_0x6ad8('0x57')](_0x4c7be8[_0x6ad8('0xd')]);_0x19f5fd({'count':_0x34292b['length'],'rows':_0x34292b});});},'Telephones':function(_0x11acd0){return new Promise(function(_0x1e0a8e,_0x2d719f){var _0x14fd59=_[_0x6ad8('0x57')](_0x4c7be8[_0x6ad8('0x79')]);_0x1e0a8e({'count':_0x14fd59[_0x6ad8('0x56')],'rows':_0x14fd59});});},'Trunks':function(_0x1ce7d3){return new Promise(function(_0x4a0e3,_0x2f39ad){var _0x4f7fe9=_[_0x6ad8('0x57')](_0x4c7be8[_0x6ad8('0x7a')]);_0x4a0e3({'count':_0x4f7fe9['length'],'rows':_0x4f7fe9});});},'OutboundChannels':function(_0x477835){return new Promise(function(_0x23720e,_0x39897b){var _0x456e86=_['values'](_0x4c7be8[_0x6ad8('0x7b')]);_0x23720e({'count':_0x456e86['length'],'rows':_0x456e86});});},'Outbound':function(_0xf874c0){return new Promise(function(_0x5b8ade,_0x16889f){_0x5b8ade(_0x4c7be8[_0x6ad8('0x2b')]);});},'Campaigns':function(_0x3a7f62){return new Promise(function(_0x1a34ba,_0x325c79){var _0x3b6196=_[_0x6ad8('0x57')](_0x4c7be8[_0x6ad8('0x7c')]);_0x1a34ba({'count':_0x3b6196['length'],'rows':_0x3b6196});});},'VoiceQueuesPreview':function(_0x35514a){var _0x1d0966=this;return new Promise(function(_0x47e3e2,_0x228c95){_0x67a9fa[_0x6ad8('0x7d')](_0x35514a['id'])[_0x6ad8('0x17')](function(_0x24a419){_0x47e3e2({'code':0xc8,'message':_0x24a419[_0x6ad8('0x4b')]});})[_0x6ad8('0x18')](function(_0x11a1ad){_0x228c95(_0x1d0966[_0x6ad8('0x10')](0x1f4,_0x11a1ad['message']));});});},'EventManager':function(_0x52fe84){var _0x5a4442=this;return new Promise(function(_0x3a4734,_0x15c14b){if(!_0x52fe84[_0x6ad8('0x7e')]){return _0x15c14b(_0x5a4442[_0x6ad8('0x10')](0x1f4,_0x6ad8('0x7f')));}ami[_0x6ad8('0x80')]('custom:'+_0x52fe84[_0x6ad8('0x7e')],_0x52fe84[_0x6ad8('0x4b')]);_0x3a4734({'code':0xc8,'message':_0x52fe84});});},'FaxAccounts':function(_0x1947aa){return new Promise(function(_0x591295,_0x5732b1){var _0x2d6608=_['values'](_0x4c7be8['faxAccounts']);_0x591295({'count':_0x2d6608[_0x6ad8('0x56')],'rows':_0x2d6608});});},'SendFax':function(_0x3795cb){var _0x7b0aab=this;return new Promise(function(_0x11f531,_0x3db2d7){_0x5113f3[_0x6ad8('0x81')](_0x3795cb)[_0x6ad8('0x17')](function(_0x396cfb){_0x11f531({'code':0xc8,'message':_0x396cfb[_0x6ad8('0x4b')]});})[_0x6ad8('0x18')](function(_0x346500){_0x3db2d7(_0x7b0aab[_0x6ad8('0x10')](0x1f4,_0x346500[_0x6ad8('0x4b')]));});});},'CheckAfterSend':function(_0x3b3116){var _0x5d71a1=this;return new Promise(function(_0x5644ef,_0x2a949d){_0x5113f3['checkAfterSend'](_0x3b3116)[_0x6ad8('0x17')](function(_0x40a5f1){_0x5644ef({'code':0xc8,'message':_0x40a5f1['message']});})['catch'](function(_0x2c1f3b){_0x2a949d(_0x5d71a1['error'](0x1f4,_0x2c1f3b[_0x6ad8('0x4b')]));});});}};var _0x88ca76=jayson['server'](_0x4e6599)['http']();_0x88ca76['on'](_0x6ad8('0x10'),function(_0x59daa4){return _0x4c59cf(_0x59daa4);});_0x88ca76[_0x6ad8('0x7')](0x232a,_0x6ad8('0x82'),function(){console[_0x6ad8('0x83')]('AMI\x20RPC\x20server\x20listening\x20on\x20127.0.0.1:%d!',0x232a);return _0x2af3f7(_0x6ad8('0x84')+0x232a);});});};