Built motion from commit (unavailable).|2.5.26
[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 _0x8dfa=['mixmonitorid','status','Channel\x20doesn\x27t\x20exist','voicechannel','resolve','StopMixMonitor','destinationchannel','stop','queueChannels','voicequeuechannel','voicequeuechannelhangup','voicequeuechannelredirect','Redirect','exten','context','telephones','trunks','outboundChannels','run','event','Event\x20name\x20mandatory','emit','custom:','faxAccounts','send','checkAfterSend','server','http','127.0.0.1','log','RPC\x20listening\x20on\x20port:','util','validate','moment','../../../config/environment','../properties','../ami','listen','format','%s/%s','SIP','name','timers','timer','updateAcw','agents','QueuePause','error','username','ami\x20disconnected','join','pick','Reload','Action','then','message','catch','isConnected','asterisk','command','voiceQueues','answered','available','pTalking','sumBillable','sumHoldTime','total','type','unmanaged','abandoned','loggedInDb','outbound','dialActive','dialMethod','dialOriginateCallerIdName','dialOriginateCallerIdNumber','dialOriginateTimeout','dialPrefix','temp','outboundAnswerAgiCallsDay','outboundAnswerCallsDay','outboundCongestionCallsDay','outboundDropCallsDayACS','outboundDropCallsDayCallersExit','outboundDropCallsDayTimeout','outboundNoAnswerCallsDay','outboundNoSuchCallsDay','outboundReCallsDay','outboundRejectCallsDay','outboundUnknownCallsDay','predictiveIntervalAnsweredCalls','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','predictiveIntervalDroppedCallsCallersExit','predictiveIntervalDroppedCallsTimeout','predictiveIntervalErlangCalls','predictiveIntervalErlangCallsDroppedCalls','predictiveIntervalHitRate','predictiveIntervalMultiplicativeFactor','predictiveIntervalPauses','predictiveIntervalTotalCalls','originated','erlangCalls','erlangCallToSecond','erlangAbandonmentRate','erlangBusyFactor','startPredictive','startProgressive','Trunk','callerid','Interval','push','length','find','omit','undefined','values','channels','map','uniqueid','channel','%s.%s','filename','wav','ai(mixmonitorid)','monitors','/var/spool/asterisk/monitor/','toLowerCase'];(function(_0x4fe01d,_0x5471e0){var _0x1669bd=function(_0x44e94a){while(--_0x44e94a){_0x4fe01d['push'](_0x4fe01d['shift']());}};_0x1669bd(++_0x5471e0);}(_0x8dfa,0x11f));var _0xa8df=function(_0x536128,_0x205e2b){_0x536128=_0x536128-0x0;var _0x19eb75=_0x8dfa[_0x536128];return _0x19eb75;};'use strict';var _=require('lodash');var util=require(_0xa8df('0x0'));var jayson=require('jayson/promise');var schema=require(_0xa8df('0x1'));var BPromise=require('bluebird');var moment=require(_0xa8df('0x2'));var config=require(_0xa8df('0x3'));var properties=require(_0xa8df('0x4'));var ami=require(_0xa8df('0x5'));exports[_0xa8df('0x6')]=function(_0x24bcda,_0x3d8e07,_0x38a2a5){return new BPromise(function(_0x3898d7,_0x2ae498){var _0x5af82d={'QueuePause':function(_0x5b371e){return new Promise(function(_0x46b177,_0x3c2f6b){var _0x4f5af9=util[_0xa8df('0x7')](_0xa8df('0x8'),_0xa8df('0x9'),_0x5b371e[_0xa8df('0xa')]);if(_0x24bcda[_0xa8df('0xb')]&&_0x24bcda[_0xa8df('0xb')][_0x4f5af9]&&_0x24bcda[_0xa8df('0xb')][_0x4f5af9][_0xa8df('0xc')]){_0x24bcda[_0xa8df('0xb')][_0x4f5af9][_0xa8df('0xd')]();}if(_0x24bcda['agents'][_0x4f5af9]){_0x24bcda[_0xa8df('0xe')][_0x4f5af9]['updateStatusRealtime']({'statePause':_0x5b371e['pause']?!![]:![]});}_0x46b177({'code':0xc8,'message':_0xa8df('0xf')});});},'Reload':function(_0x3ae721){var _0x4037d0=this;return new Promise(function(_0x1dcd21,_0x4b60be){if(ami['isConnected']()==![]){return _0x4b60be(_0x4037d0[_0xa8df('0x10')](0x1f4,[config['asterisk']['ip'],config['asterisk'][_0xa8df('0x11')],_0xa8df('0x12')][_0xa8df('0x13')]('\x20')));}_0x3ae721=_[_0xa8df('0x14')](_0x3ae721,_['keys'](properties['module']));_0x3ae721['action']=_0xa8df('0x15');return ami[_0xa8df('0x16')](_0x3ae721)[_0xa8df('0x17')](function(_0x229796){_0x1dcd21({'code':0xc8,'message':_0x229796[_0xa8df('0x18')]});})[_0xa8df('0x19')](function(_0x598c09){_0x4b60be(_0x4037d0[_0xa8df('0x10')](0x1f5,_0x598c09['message']));});});},'Command':function(_0x486575){var _0x2d9a28=this;return new Promise(function(_0x4ec9af,_0x77c467){if(ami[_0xa8df('0x1a')]()==![]){return _0x77c467(_0x2d9a28[_0xa8df('0x10')](0x1f4,[config[_0xa8df('0x1b')]['ip'],config[_0xa8df('0x1b')][_0xa8df('0x11')],_0xa8df('0x12')][_0xa8df('0x13')]('\x20')));}_0x486575=_['pick'](_0x486575,_0xa8df('0x1c'));_0x486575['action']='Command';return ami[_0xa8df('0x16')](_0x486575)[_0xa8df('0x17')](function(_0x16fae3){_0x4ec9af({'code':0xc8,'message':_0x16fae3['content']});})[_0xa8df('0x19')](function(_0x1ed30c){_0x77c467(_0x2d9a28[_0xa8df('0x10')](0x1f5,_0x1ed30c['message']));});});},'VoiceQueues':function(_0x102b22){return new Promise(function(_0x2d0405,_0x5491c3){var _0x5a3ee5=[];for(var _0x4247b7 in _0x24bcda[_0xa8df('0x1d')]){if(_0x24bcda[_0xa8df('0x1d')]['hasOwnProperty'](_0x4247b7)){var _0xf8a4d3=_0x24bcda[_0xa8df('0x1d')][_0x4247b7];var _0x4f8ae3={'id':_0xf8a4d3['id'],'name':_0xf8a4d3[_0xa8df('0xa')],'strategy':_0xf8a4d3['strategy'],'answered':_0xf8a4d3[_0xa8df('0x1e')],'available':_0xf8a4d3[_0xa8df('0x1f')],'loggedIn':_0xf8a4d3['loggedIn'],'pTalking':_0xf8a4d3[_0xa8df('0x20')],'sumBillable':_0xf8a4d3[_0xa8df('0x21')],'sumDuration':_0xf8a4d3['sumDuration'],'sumHoldTime':_0xf8a4d3[_0xa8df('0x22')]||0x0,'talking':_0xf8a4d3['talking'],'total':_0xf8a4d3[_0xa8df('0x23')],'type':_0xf8a4d3[_0xa8df('0x24')],'unmanaged':_0xf8a4d3[_0xa8df('0x25')],'abandoned':_0xf8a4d3[_0xa8df('0x26')],'waiting':_0xf8a4d3['waiting'],'loggedInDb':_0xf8a4d3[_0xa8df('0x27')]};if(_0xf8a4d3[_0xa8df('0x24')]===_0xa8df('0x28')){_0x4f8ae3[_0xa8df('0x29')]=_0xf8a4d3['dialActive'];_0x4f8ae3[_0xa8df('0x2a')]=_0xf8a4d3[_0xa8df('0x2a')];_0x4f8ae3['dialOriginateCallerIdName']=_0xf8a4d3[_0xa8df('0x2b')];_0x4f8ae3['dialOriginateCallerIdNumber']=_0xf8a4d3[_0xa8df('0x2c')];_0x4f8ae3[_0xa8df('0x2d')]=_0xf8a4d3['dialOriginateTimeout'];_0x4f8ae3['dialPrefix']=_0xf8a4d3[_0xa8df('0x2e')];_0x4f8ae3['temp']=_0xf8a4d3[_0xa8df('0x2f')];_0x4f8ae3['outboundAnswerAgiCallsDay']=_0xf8a4d3[_0xa8df('0x30')];_0x4f8ae3[_0xa8df('0x31')]=_0xf8a4d3[_0xa8df('0x31')];_0x4f8ae3['outboundBlacklistCallsDay']=_0xf8a4d3['outboundBlacklistCallsDay'];_0x4f8ae3['outboundBusyCallsDay']=_0xf8a4d3['outboundBusyCallsDay'];_0x4f8ae3[_0xa8df('0x32')]=_0xf8a4d3[_0xa8df('0x32')];_0x4f8ae3[_0xa8df('0x33')]=_0xf8a4d3[_0xa8df('0x33')];_0x4f8ae3[_0xa8df('0x34')]=_0xf8a4d3[_0xa8df('0x34')];_0x4f8ae3[_0xa8df('0x35')]=_0xf8a4d3['outboundDropCallsDayTimeout'];_0x4f8ae3[_0xa8df('0x36')]=_0xf8a4d3[_0xa8df('0x36')];_0x4f8ae3['outboundNoSuchCallsDay']=_0xf8a4d3[_0xa8df('0x37')];_0x4f8ae3['outboundOriginateFailureCallsDay']=_0xf8a4d3['outboundOriginateFailureCallsDay'];_0x4f8ae3[_0xa8df('0x38')]=_0xf8a4d3[_0xa8df('0x38')];_0x4f8ae3[_0xa8df('0x39')]=_0xf8a4d3[_0xa8df('0x39')];_0x4f8ae3['outboundUnknownCallsDay']=_0xf8a4d3[_0xa8df('0x3a')];_0x4f8ae3[_0xa8df('0x3b')]=_0xf8a4d3['predictiveIntervalAnsweredCalls'];_0x4f8ae3[_0xa8df('0x3c')]=_0xf8a4d3['predictiveIntervalAvgHoldtime'];_0x4f8ae3[_0xa8df('0x3d')]=_0xf8a4d3[_0xa8df('0x3d')];_0x4f8ae3[_0xa8df('0x3e')]=_0xf8a4d3[_0xa8df('0x3e')];_0x4f8ae3[_0xa8df('0x3f')]=_0xf8a4d3[_0xa8df('0x3f')];_0x4f8ae3[_0xa8df('0x40')]=_0xf8a4d3[_0xa8df('0x40')];_0x4f8ae3[_0xa8df('0x41')]=_0xf8a4d3['predictiveIntervalErlangCallsDroppedCalls'];_0x4f8ae3[_0xa8df('0x42')]=_0xf8a4d3[_0xa8df('0x42')];_0x4f8ae3[_0xa8df('0x43')]=_0xf8a4d3[_0xa8df('0x43')];_0x4f8ae3[_0xa8df('0x44')]=_0xf8a4d3[_0xa8df('0x44')];_0x4f8ae3['predictiveIntervalAvailable']=_0xf8a4d3['predictiveIntervalAvailable'];_0x4f8ae3[_0xa8df('0x45')]=_0xf8a4d3[_0xa8df('0x45')];_0x4f8ae3[_0xa8df('0x18')]=_0xf8a4d3[_0xa8df('0x18')];_0x4f8ae3[_0xa8df('0x46')]=_0xf8a4d3[_0xa8df('0x46')];_0x4f8ae3[_0xa8df('0x47')]=_0xf8a4d3[_0xa8df('0x47')];_0x4f8ae3['erlangCallToSecond']=_0xf8a4d3[_0xa8df('0x48')];_0x4f8ae3[_0xa8df('0x49')]=_0xf8a4d3[_0xa8df('0x49')];_0x4f8ae3[_0xa8df('0x4a')]=_0xf8a4d3[_0xa8df('0x4a')];_0x4f8ae3[_0xa8df('0x4b')]=_0xf8a4d3[_0xa8df('0x4b')];_0x4f8ae3[_0xa8df('0x4c')]=_0xf8a4d3[_0xa8df('0x4c')];}if(_0xf8a4d3[_0xa8df('0x4d')]){_0x4f8ae3[_0xa8df('0x4d')]={'id':_0xf8a4d3[_0xa8df('0x4d')]['id'],'name':_0xf8a4d3[_0xa8df('0x4d')][_0xa8df('0xa')],'active':_0xf8a4d3[_0xa8df('0x4d')]['active'],'callerid':_0xf8a4d3[_0xa8df('0x4d')][_0xa8df('0x4e')]};}if(_0xf8a4d3[_0xa8df('0x4f')]){_0x4f8ae3['Interval']={'id':_0xf8a4d3[_0xa8df('0x4f')]['id'],'name':_0xf8a4d3['Interval'][_0xa8df('0xa')]};}_0x5a3ee5[_0xa8df('0x50')](_0x4f8ae3);}}_0x2d0405({'count':_0x5a3ee5[_0xa8df('0x51')],'rows':_0x5a3ee5});});},'UpdateVoiceQueue':function(_0x11812f){return new Promise(function(_0x50a1c6,_0x36aa8a){var _0x468731=_[_0xa8df('0x52')](_0x24bcda['voiceQueues'],{'id':parseInt(_0x11812f['id'])});var _0x5eb936=_[_0xa8df('0x53')](_0x11812f,['id']);if(_0x468731){for(var _0x4d7c23 in _0x5eb936){if(typeof _0x5eb936[_0x4d7c23]!==_0xa8df('0x54')&&typeof _0x468731[_0x4d7c23]!==_0xa8df('0x54')){_0x468731[_0x4d7c23]=_0x5eb936[_0x4d7c23];}}_0x50a1c6(_0x468731);}else{_0x36aa8a();}});},'VoiceChannels':function(_0x3b88c6){return new Promise(function(_0x2890e3,_0xd8b89){var _0x3c6ffb=_[_0xa8df('0x55')](_0x24bcda[_0xa8df('0x56')]);_0x2890e3({'count':_0x3c6ffb['length'],'rows':_0x3c6ffb});});},'VoiceChannelMixMonitor':function(_0x3eb85e){var _0x5119cf=this;return new Promise(function(_0xea7f3a,_0x284197){if(ami[_0xa8df('0x1a')]()==![]){return _0x284197(_0x5119cf['error'](0x1f4,[config[_0xa8df('0x1b')]['ip'],config[_0xa8df('0x1b')][_0xa8df('0x11')],_0xa8df('0x12')][_0xa8df('0x13')]('\x20')));}var _0x4ec46e=schema(properties['voicechannel'])[_0xa8df('0x1')](_0x3eb85e);if(_0x4ec46e['length']>0x0){return _0x284197(_0x5119cf['error'](0x1f4,_[_0xa8df('0x57')](_0x4ec46e,_0xa8df('0x18'))[_0xa8df('0x13')](',\x20')));}var _0xc428b9=_[_0xa8df('0x52')](_0x24bcda[_0xa8df('0x56')],{'uniqueid':_0x3eb85e[_0xa8df('0x58')]});if(_0xc428b9&&_0xc428b9[_0xa8df('0x59')]){var _0x58a5c8=util[_0xa8df('0x7')](_0xa8df('0x5a'),_0x3eb85e[_0xa8df('0x5b')]||_0x3eb85e[_0xa8df('0x58')],_0x3eb85e['format']||_0xa8df('0x5c'));return ami[_0xa8df('0x16')]({'action':'MixMonitor','channel':_0xc428b9[_0xa8df('0x59')],'file':_0x58a5c8,'options':_0xa8df('0x5d')})[_0xa8df('0x17')](function(_0x3c406a){var _0x1e4bf3=_[_0xa8df('0x52')](_0xc428b9[_0xa8df('0x5e')],{'filename':_0xa8df('0x5f')+_0x58a5c8[_0xa8df('0x60')]()});if(_['isNil'](_0x1e4bf3)){_0xc428b9['monitors'][_0xa8df('0x50')]({'filename':_0xa8df('0x5f')+_0x58a5c8[_0xa8df('0x60')](),'createdAt':moment()['format']('YYYY-MM-DD\x20HH:mm:ss'),'mixmonitorid':_0x3c406a['mixmonitorid'],'status':'rec'});}else{_0x1e4bf3[_0xa8df('0x61')]=_0x3c406a[_0xa8df('0x61')];_0x1e4bf3[_0xa8df('0x62')]='rec';}_0xea7f3a({'code':0xc8,'message':[_0x3eb85e[_0xa8df('0x58')],'MixMonitor\x20Success',_0x3c406a['mixmonitorid']][_0xa8df('0x13')]('\x20'),'mixmonitorid':_0x3c406a[_0xa8df('0x61')]});})['catch'](function(_0x18c99b){_0x284197(_0x5119cf[_0xa8df('0x10')](0x1f5,[_0x3eb85e['uniqueid'],_0x18c99b[_0xa8df('0x18')][_0xa8df('0x60')]()][_0xa8df('0x13')]('\x20')));});}else{return _0x284197(_0x5119cf[_0xa8df('0x10')](0x1f5,_0xa8df('0x63')));}});},'VoiceChannelStopMixMonitor':function(_0x3149ac){var _0x1d5731=this;return new Promise(function(_0x3b14cd,_0x925fcd){if(ami[_0xa8df('0x1a')]()==![]){return _0x925fcd(_0x1d5731[_0xa8df('0x10')](0x1f4,[config[_0xa8df('0x1b')]['ip'],config[_0xa8df('0x1b')][_0xa8df('0x11')],_0xa8df('0x12')][_0xa8df('0x13')]('\x20')));}var _0x4c4eb0=schema(properties[_0xa8df('0x64')])[_0xa8df('0x1')](_0x3149ac);if(_0x4c4eb0[_0xa8df('0x51')]>0x0){return _0x925fcd(_0x1d5731[_0xa8df('0x10')](0x1f4,_[_0xa8df('0x57')](_0x4c4eb0,_0xa8df('0x18'))[_0xa8df('0x13')](',\x20')));}var _0x2fa5ce=_['find'](_0x24bcda[_0xa8df('0x56')],{'uniqueid':_0x3149ac[_0xa8df('0x58')]});if(_0x2fa5ce){return BPromise[_0xa8df('0x65')]()[_0xa8df('0x17')](function(){if(_0x2fa5ce[_0xa8df('0x59')]){return ami[_0xa8df('0x16')]({'action':_0xa8df('0x66'),'channel':_0x2fa5ce[_0xa8df('0x59')],'mixmonitorid':_0x3149ac[_0xa8df('0x61')]})[_0xa8df('0x19')](function(_0x512c44){});}})[_0xa8df('0x17')](function(){if(_0x2fa5ce[_0xa8df('0x67')]){return ami[_0xa8df('0x16')]({'action':_0xa8df('0x66'),'channel':_0x2fa5ce['destinationchannel'],'mixmonitorid':_0x3149ac['mixmonitorid']})[_0xa8df('0x19')](function(_0x4d643e){});}})[_0xa8df('0x17')](function(_0x2f4a4f){var _0x466244=_[_0xa8df('0x52')](_0x2fa5ce['monitors'],{'mixmonitorid':_0x3149ac['mixmonitorid']});if(_0x466244){_0x466244['status']=_0xa8df('0x68');}})[_0xa8df('0x17')](function(){var _0x22daf7=util[_0xa8df('0x7')]('%s.%s',_0x3149ac[_0xa8df('0x5b')]||_0x3149ac[_0xa8df('0x58')],_0x3149ac[_0xa8df('0x7')]||_0xa8df('0x5c'));var _0x373fb4=_[_0xa8df('0x52')](_0x2fa5ce[_0xa8df('0x5e')],{'filename':_0xa8df('0x5f')+_0x22daf7[_0xa8df('0x60')]()});if(_0x373fb4){_0x373fb4[_0xa8df('0x62')]=_0xa8df('0x68');}})[_0xa8df('0x17')](function(){_0x3b14cd({'code':0xc8,'message':[_0x3149ac[_0xa8df('0x58')],'StopMixMonitor\x20Success'][_0xa8df('0x13')]('\x20')});})[_0xa8df('0x19')](function(_0x537e5a){_0x925fcd(_0x1d5731[_0xa8df('0x10')](0x1f5,[_0x3149ac[_0xa8df('0x58')],_0x537e5a[_0xa8df('0x18')]['toLowerCase']()][_0xa8df('0x13')]('\x20')));});}else{return _0x925fcd(_0x1d5731[_0xa8df('0x10')](0x1f5,_0xa8df('0x63')));}});},'VoiceQueuesChannels':function(_0x729d0a){return new Promise(function(_0x39bed0,_0x437cd2){var _0x5d69ce=_['values'](_0x24bcda[_0xa8df('0x69')]);_0x39bed0({'count':_0x5d69ce[_0xa8df('0x51')],'rows':_0x5d69ce});});},'VoiceQueuesChannel':function(_0x3ae328){var _0x1d4629=this;return new Promise(function(_0x32ad79,_0x1bc16c){var _0x40d817=schema(properties[_0xa8df('0x6a')])['validate'](_0x3ae328);if(_0x40d817[_0xa8df('0x51')]>0x0){return _0x1bc16c(_0x1d4629['error'](0x1f4,_[_0xa8df('0x57')](_0x40d817,_0xa8df('0x18'))[_0xa8df('0x13')](',\x20')));}var _0x3afb54=_[_0xa8df('0x52')](_0x24bcda[_0xa8df('0x69')],{'uniqueid':_0x3ae328['uniqueid']});if(_0x3afb54){_0x32ad79(_0x3afb54);}else{return _0x1bc16c(_0x1d4629[_0xa8df('0x10')](0x1f5,'Channel\x20doesn\x27t\x20exist'));}});},'VoiceQueuesChannelHangup':function(_0x422e23){var _0x44368b=this;return new Promise(function(_0xd9c84a,_0x4dcc68){if(ami[_0xa8df('0x1a')]()==![]){return _0x4dcc68(_0x44368b[_0xa8df('0x10')](0x1f4,[config[_0xa8df('0x1b')]['ip'],config[_0xa8df('0x1b')][_0xa8df('0x11')],_0xa8df('0x12')][_0xa8df('0x13')]('\x20')));}var _0x429d53=schema(properties[_0xa8df('0x6b')])[_0xa8df('0x1')](_0x422e23);if(_0x429d53['length']>0x0){return _0x4dcc68(_0x44368b['error'](0x1f4,_[_0xa8df('0x57')](_0x429d53,_0xa8df('0x18'))[_0xa8df('0x13')](',\x20')));}var _0x1955c3=_[_0xa8df('0x52')](_0x24bcda['queueChannels'],{'uniqueid':_0x422e23[_0xa8df('0x58')]});if(_0x1955c3&&_0x1955c3[_0xa8df('0x59')]){return ami[_0xa8df('0x16')]({'action':'Hangup','channel':_0x1955c3[_0xa8df('0x59')]})[_0xa8df('0x17')](function(_0x45a3c3){_0xd9c84a({'code':0xc8,'message':[_0x422e23[_0xa8df('0x58')],_0x45a3c3[_0xa8df('0x18')][_0xa8df('0x60')]()][_0xa8df('0x13')]('\x20')});})['catch'](function(_0x3fc447){_0x4dcc68(_0x44368b['error'](0x1f5,[_0x422e23[_0xa8df('0x58')],_0x3fc447[_0xa8df('0x18')][_0xa8df('0x60')]()][_0xa8df('0x13')]('\x20')));});}else{return _0x4dcc68(_0x44368b[_0xa8df('0x10')](0x1f5,_0xa8df('0x63')));}});},'VoiceQueuesChannelRedirect':function(_0x53224d){var _0x3d6b15=this;return new Promise(function(_0x4ec3bc,_0x44f124){if(ami['isConnected']()==![]){return _0x44f124(_0x3d6b15[_0xa8df('0x10')](0x1f4,[config[_0xa8df('0x1b')]['ip'],config[_0xa8df('0x1b')][_0xa8df('0x11')],_0xa8df('0x12')]['join']('\x20')));}var _0x4642bb=schema(properties[_0xa8df('0x6c')])[_0xa8df('0x1')](_0x53224d);if(_0x4642bb[_0xa8df('0x51')]>0x0){return _0x44f124(_0x3d6b15['error'](0x1f4,_[_0xa8df('0x57')](_0x4642bb,_0xa8df('0x18'))['join'](',\x20')));}var _0x1ad4aa=_[_0xa8df('0x52')](_0x24bcda[_0xa8df('0x69')],{'uniqueid':_0x53224d[_0xa8df('0x58')]});if(_0x1ad4aa&&_0x1ad4aa[_0xa8df('0x59')]){return ami['Action']({'action':_0xa8df('0x6d'),'channel':_0x1ad4aa[_0xa8df('0x59')],'exten':_0x53224d[_0xa8df('0x6e')],'context':_0x53224d[_0xa8df('0x6f')]||_0x1ad4aa['context'],'priority':0x1})['then'](function(_0x341da9){_0x4ec3bc({'code':0xc8,'message':[_0x53224d['uniqueid'],_0x341da9['message'][_0xa8df('0x60')]()][_0xa8df('0x13')]('\x20')});})['catch'](function(_0x15daf2){_0x44f124(_0x3d6b15[_0xa8df('0x10')](0x1f5,[_0x53224d[_0xa8df('0x58')],_0x15daf2[_0xa8df('0x18')][_0xa8df('0x60')]()]['join']('\x20')));});}else{return _0x44f124(_0x3d6b15['error'](0x1f5,_0xa8df('0x63')));}});},'Agents':function(_0x1337b0){return new Promise(function(_0x599a9a,_0x3d7577){var _0x1960c4=_[_0xa8df('0x55')](_0x24bcda[_0xa8df('0xe')]);_0x599a9a({'count':_0x1960c4[_0xa8df('0x51')],'rows':_0x1960c4});});},'Telephones':function(_0x273c19){return new Promise(function(_0x3b2841,_0x17994e){var _0x1e02e9=_['values'](_0x24bcda[_0xa8df('0x70')]);_0x3b2841({'count':_0x1e02e9[_0xa8df('0x51')],'rows':_0x1e02e9});});},'Trunks':function(_0x365407){return new Promise(function(_0x55c857,_0x248d13){var _0x5f38ed=_[_0xa8df('0x55')](_0x24bcda[_0xa8df('0x71')]);_0x55c857({'count':_0x5f38ed['length'],'rows':_0x5f38ed});});},'OutboundChannels':function(_0x21a75d){return new Promise(function(_0x543497,_0x4fbd06){var _0x1a296f=_['values'](_0x24bcda[_0xa8df('0x72')]);_0x543497({'count':_0x1a296f[_0xa8df('0x51')],'rows':_0x1a296f});});},'Outbound':function(_0x12e178){return new Promise(function(_0x2ead94,_0x4c45c2){_0x2ead94(_0x24bcda[_0xa8df('0x28')]);});},'Campaigns':function(_0x38874e){return new Promise(function(_0x4464e2,_0x55c6b7){var _0x554049=_[_0xa8df('0x55')](_0x24bcda['campaigns']);_0x4464e2({'count':_0x554049[_0xa8df('0x51')],'rows':_0x554049});});},'VoiceQueuesPreview':function(_0x898f23){var _0x5e5db7=this;return new Promise(function(_0x4e26cd,_0x2f6fc4){_0x3d8e07[_0xa8df('0x73')](_0x898f23['id'])[_0xa8df('0x17')](function(_0x155660){_0x4e26cd({'code':0xc8,'message':_0x155660['message']});})[_0xa8df('0x19')](function(_0x1d265b){_0x2f6fc4(_0x5e5db7[_0xa8df('0x10')](0x1f4,_0x1d265b[_0xa8df('0x18')]));});});},'EventManager':function(_0x51638e){var _0x1bdcec=this;return new Promise(function(_0x104b7a,_0x49de5d){if(!_0x51638e[_0xa8df('0x74')]){return _0x49de5d(_0x1bdcec['error'](0x1f4,_0xa8df('0x75')));}ami[_0xa8df('0x76')](_0xa8df('0x77')+_0x51638e[_0xa8df('0x74')],_0x51638e['message']);_0x104b7a({'code':0xc8,'message':_0x51638e});});},'FaxAccounts':function(_0x5ca955){return new Promise(function(_0x59c99c,_0x122c52){var _0x444bee=_['values'](_0x24bcda[_0xa8df('0x78')]);_0x59c99c({'count':_0x444bee[_0xa8df('0x51')],'rows':_0x444bee});});},'SendFax':function(_0x3e187c){var _0xc96a8b=this;return new Promise(function(_0x3dec51,_0x93cf5d){_0x38a2a5[_0xa8df('0x79')](_0x3e187c)[_0xa8df('0x17')](function(_0x5bb662){_0x3dec51({'code':0xc8,'message':_0x5bb662[_0xa8df('0x18')]});})[_0xa8df('0x19')](function(_0x55ec2a){_0x93cf5d(_0xc96a8b[_0xa8df('0x10')](0x1f4,_0x55ec2a[_0xa8df('0x18')]));});});},'CheckAfterSend':function(_0x4f93ff){var _0x120c93=this;return new Promise(function(_0x4c212d,_0x556177){_0x38a2a5[_0xa8df('0x7a')](_0x4f93ff)['then'](function(_0x4d0b05){_0x4c212d({'code':0xc8,'message':_0x4d0b05[_0xa8df('0x18')]});})['catch'](function(_0x1fe758){_0x556177(_0x120c93[_0xa8df('0x10')](0x1f4,_0x1fe758[_0xa8df('0x18')]));});});}};var _0x58ad5e=jayson[_0xa8df('0x7b')](_0x5af82d)[_0xa8df('0x7c')]();_0x58ad5e['on'](_0xa8df('0x10'),function(_0x89a6a){return _0x2ae498(_0x89a6a);});_0x58ad5e[_0xa8df('0x6')](0x232a,_0xa8df('0x7d'),function(){console[_0xa8df('0x7e')]('AMI\x20RPC\x20server\x20listening\x20on\x20127.0.0.1:%d!',0x232a);return _0x3898d7(_0xa8df('0x7f')+0x232a);});});};