Built motion from commit (unavailable).|2.4.18
[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 _0xc2b4=['stop','filename','StopMixMonitor\x20Success','queueChannels','voicequeuechannelhangup','voicequeuechannelredirect','Redirect','context','trunks','campaigns','run','event','custom:','faxAccounts','send','checkAfterSend','server','http','listen','127.0.0.1','log','RPC\x20listening\x20on\x20port:','lodash','util','jayson/promise','validate','bluebird','moment','../../../config/environment','../ami','format','%s/%s','name','timers','timer','updateAcw','agents','updateStatusRealtime','pause','QueuePause','isConnected','error','asterisk','username','ami\x20disconnected','join','pick','keys','module','action','Reload','Action','then','catch','message','command','Command','content','voiceQueues','hasOwnProperty','strategy','answered','available','loggedIn','sumBillable','talking','total','type','unmanaged','abandoned','waiting','loggedInDb','outbound','dialActive','dialMethod','dialOriginateCallerIdName','dialOriginateCallerIdNumber','dialOriginateTimeout','dialPrefix','outboundAnswerAgiCallsDay','outboundAnswerCallsDay','outboundBlacklistCallsDay','outboundBusyCallsDay','outboundDropCallsDayACS','outboundDropCallsDayCallersExit','outboundNoAnswerCallsDay','outboundNoSuchCallsDay','outboundOriginateFailureCallsDay','outboundReCallsDay','outboundRejectCallsDay','outboundUnknownCallsDay','predictiveIntervalAnsweredCalls','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','predictiveIntervalDroppedCallsTimeout','predictiveIntervalErlangCalls','predictiveIntervalErlangCallsDroppedCalls','predictiveIntervalMultiplicativeFactor','predictiveIntervalPauses','predictiveIntervalAvailable','predictiveIntervalTotalCalls','originated','erlangCalls','erlangCallToSecond','erlangAbandonmentRate','startPredictive','startProgressive','Trunk','Interval','push','length','values','channels','voicechannel','map','find','uniqueid','channel','%s.%s','wav','MixMonitor','ai(mixmonitorid)','monitors','/var/spool/asterisk/monitor/','toLowerCase','YYYY-MM-DD\x20HH:mm:ss','mixmonitorid','rec','status','MixMonitor\x20Success','Channel\x20doesn\x27t\x20exist','resolve','StopMixMonitor','destinationchannel'];(function(_0x3ced38,_0x3d6096){var _0x4c8ac4=function(_0x146787){while(--_0x146787){_0x3ced38['push'](_0x3ced38['shift']());}};_0x4c8ac4(++_0x3d6096);}(_0xc2b4,0x9c));var _0x4c2b=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xc2b4[_0x3dd15e];return _0x231fd0;};'use strict';var _=require(_0x4c2b('0x0'));var util=require(_0x4c2b('0x1'));var jayson=require(_0x4c2b('0x2'));var schema=require(_0x4c2b('0x3'));var BPromise=require(_0x4c2b('0x4'));var moment=require(_0x4c2b('0x5'));var config=require(_0x4c2b('0x6'));var properties=require('../properties');var ami=require(_0x4c2b('0x7'));exports['listen']=function(_0x468220,_0x2710f0,_0x4c0cfc){return new BPromise(function(_0x166ad7,_0x19c1f5){var _0x3844eb={'QueuePause':function(_0x24cb16){return new Promise(function(_0x10e5d5,_0x458c62){var _0x49701a=util[_0x4c2b('0x8')](_0x4c2b('0x9'),'SIP',_0x24cb16[_0x4c2b('0xa')]);if(_0x468220[_0x4c2b('0xb')]&&_0x468220[_0x4c2b('0xb')][_0x49701a]&&_0x468220[_0x4c2b('0xb')][_0x49701a][_0x4c2b('0xc')]){_0x468220[_0x4c2b('0xb')][_0x49701a][_0x4c2b('0xd')]();}if(_0x468220[_0x4c2b('0xe')][_0x49701a]){_0x468220['agents'][_0x49701a][_0x4c2b('0xf')]({'statePause':_0x24cb16[_0x4c2b('0x10')]?!![]:![]});}_0x10e5d5({'code':0xc8,'message':_0x4c2b('0x11')});});},'Reload':function(_0xfe30fa){var _0x2d4ba1=this;return new Promise(function(_0x1150d0,_0x41f62b){if(ami[_0x4c2b('0x12')]()==![]){return _0x41f62b(_0x2d4ba1[_0x4c2b('0x13')](0x1f4,[config[_0x4c2b('0x14')]['ip'],config[_0x4c2b('0x14')][_0x4c2b('0x15')],_0x4c2b('0x16')][_0x4c2b('0x17')]('\x20')));}_0xfe30fa=_[_0x4c2b('0x18')](_0xfe30fa,_[_0x4c2b('0x19')](properties[_0x4c2b('0x1a')]));_0xfe30fa[_0x4c2b('0x1b')]=_0x4c2b('0x1c');return ami[_0x4c2b('0x1d')](_0xfe30fa)[_0x4c2b('0x1e')](function(_0x130c14){_0x1150d0({'code':0xc8,'message':_0x130c14['message']});})[_0x4c2b('0x1f')](function(_0x406525){_0x41f62b(_0x2d4ba1[_0x4c2b('0x13')](0x1f5,_0x406525[_0x4c2b('0x20')]));});});},'Command':function(_0x132b84){var _0x382cb3=this;return new Promise(function(_0x4397b4,_0x59f68d){if(ami[_0x4c2b('0x12')]()==![]){return _0x59f68d(_0x382cb3[_0x4c2b('0x13')](0x1f4,[config[_0x4c2b('0x14')]['ip'],config[_0x4c2b('0x14')][_0x4c2b('0x15')],_0x4c2b('0x16')]['join']('\x20')));}_0x132b84=_[_0x4c2b('0x18')](_0x132b84,_0x4c2b('0x21'));_0x132b84[_0x4c2b('0x1b')]=_0x4c2b('0x22');return ami[_0x4c2b('0x1d')](_0x132b84)['then'](function(_0x3f50b4){_0x4397b4({'code':0xc8,'message':_0x3f50b4[_0x4c2b('0x23')]});})['catch'](function(_0x418f2f){_0x59f68d(_0x382cb3['error'](0x1f5,_0x418f2f[_0x4c2b('0x20')]));});});},'VoiceQueues':function(_0xa95b13){return new Promise(function(_0x31dae5,_0x1ee487){var _0x467cf9=[];for(var _0x2f39fc in _0x468220['voiceQueues']){if(_0x468220[_0x4c2b('0x24')][_0x4c2b('0x25')](_0x2f39fc)){var _0x5dcc38=_0x468220[_0x4c2b('0x24')][_0x2f39fc];var _0x49567f={'id':_0x5dcc38['id'],'name':_0x5dcc38['name'],'strategy':_0x5dcc38[_0x4c2b('0x26')],'answered':_0x5dcc38[_0x4c2b('0x27')],'available':_0x5dcc38[_0x4c2b('0x28')],'loggedIn':_0x5dcc38[_0x4c2b('0x29')],'pTalking':_0x5dcc38['pTalking'],'sumBillable':_0x5dcc38[_0x4c2b('0x2a')],'sumDuration':_0x5dcc38['sumDuration'],'sumHoldTime':_0x5dcc38['sumHoldTime']||0x0,'talking':_0x5dcc38[_0x4c2b('0x2b')],'total':_0x5dcc38[_0x4c2b('0x2c')],'type':_0x5dcc38[_0x4c2b('0x2d')],'unmanaged':_0x5dcc38[_0x4c2b('0x2e')],'abandoned':_0x5dcc38[_0x4c2b('0x2f')],'waiting':_0x5dcc38[_0x4c2b('0x30')],'loggedInDb':_0x5dcc38[_0x4c2b('0x31')]};if(_0x5dcc38['type']===_0x4c2b('0x32')){_0x49567f[_0x4c2b('0x33')]=_0x5dcc38[_0x4c2b('0x33')];_0x49567f[_0x4c2b('0x34')]=_0x5dcc38[_0x4c2b('0x34')];_0x49567f[_0x4c2b('0x35')]=_0x5dcc38[_0x4c2b('0x35')];_0x49567f['dialOriginateCallerIdNumber']=_0x5dcc38[_0x4c2b('0x36')];_0x49567f[_0x4c2b('0x37')]=_0x5dcc38[_0x4c2b('0x37')];_0x49567f[_0x4c2b('0x38')]=_0x5dcc38[_0x4c2b('0x38')];_0x49567f['outboundAnswerAgiCallsDay']=_0x5dcc38[_0x4c2b('0x39')];_0x49567f[_0x4c2b('0x3a')]=_0x5dcc38[_0x4c2b('0x3a')];_0x49567f[_0x4c2b('0x3b')]=_0x5dcc38[_0x4c2b('0x3b')];_0x49567f[_0x4c2b('0x3c')]=_0x5dcc38[_0x4c2b('0x3c')];_0x49567f['outboundCongestionCallsDay']=_0x5dcc38['outboundCongestionCallsDay'];_0x49567f[_0x4c2b('0x3d')]=_0x5dcc38[_0x4c2b('0x3d')];_0x49567f[_0x4c2b('0x3e')]=_0x5dcc38[_0x4c2b('0x3e')];_0x49567f['outboundDropCallsDayTimeout']=_0x5dcc38['outboundDropCallsDayTimeout'];_0x49567f[_0x4c2b('0x3f')]=_0x5dcc38['outboundNoAnswerCallsDay'];_0x49567f[_0x4c2b('0x40')]=_0x5dcc38[_0x4c2b('0x40')];_0x49567f[_0x4c2b('0x41')]=_0x5dcc38[_0x4c2b('0x41')];_0x49567f[_0x4c2b('0x42')]=_0x5dcc38[_0x4c2b('0x42')];_0x49567f['outboundRejectCallsDay']=_0x5dcc38[_0x4c2b('0x43')];_0x49567f[_0x4c2b('0x44')]=_0x5dcc38[_0x4c2b('0x44')];_0x49567f[_0x4c2b('0x45')]=_0x5dcc38[_0x4c2b('0x45')];_0x49567f[_0x4c2b('0x46')]=_0x5dcc38[_0x4c2b('0x46')];_0x49567f[_0x4c2b('0x47')]=_0x5dcc38[_0x4c2b('0x47')];_0x49567f['predictiveIntervalDroppedCallsCallersExit']=_0x5dcc38['predictiveIntervalDroppedCallsCallersExit'];_0x49567f['predictiveIntervalDroppedCallsTimeout']=_0x5dcc38[_0x4c2b('0x48')];_0x49567f['predictiveIntervalErlangCalls']=_0x5dcc38[_0x4c2b('0x49')];_0x49567f[_0x4c2b('0x4a')]=_0x5dcc38[_0x4c2b('0x4a')];_0x49567f['predictiveIntervalHitRate']=_0x5dcc38['predictiveIntervalHitRate'];_0x49567f[_0x4c2b('0x4b')]=_0x5dcc38['predictiveIntervalMultiplicativeFactor'];_0x49567f['predictiveIntervalPauses']=_0x5dcc38[_0x4c2b('0x4c')];_0x49567f[_0x4c2b('0x4d')]=_0x5dcc38[_0x4c2b('0x4d')];_0x49567f[_0x4c2b('0x4e')]=_0x5dcc38[_0x4c2b('0x4e')];_0x49567f[_0x4c2b('0x20')]=_0x5dcc38['message'];_0x49567f[_0x4c2b('0x4f')]=_0x5dcc38['originated'];_0x49567f['erlangCalls']=_0x5dcc38[_0x4c2b('0x50')];_0x49567f[_0x4c2b('0x51')]=_0x5dcc38['erlangCallToSecond'];_0x49567f[_0x4c2b('0x52')]=_0x5dcc38['erlangAbandonmentRate'];_0x49567f['erlangBusyFactor']=_0x5dcc38['erlangBusyFactor'];_0x49567f[_0x4c2b('0x53')]=_0x5dcc38[_0x4c2b('0x53')];_0x49567f[_0x4c2b('0x54')]=_0x5dcc38[_0x4c2b('0x54')];}if(_0x5dcc38[_0x4c2b('0x55')]){_0x49567f[_0x4c2b('0x55')]={'id':_0x5dcc38['Trunk']['id'],'name':_0x5dcc38[_0x4c2b('0x55')][_0x4c2b('0xa')],'active':_0x5dcc38[_0x4c2b('0x55')]['active'],'callerid':_0x5dcc38[_0x4c2b('0x55')]['callerid']};}if(_0x5dcc38['Interval']){_0x49567f[_0x4c2b('0x56')]={'id':_0x5dcc38[_0x4c2b('0x56')]['id'],'name':_0x5dcc38['Interval'][_0x4c2b('0xa')]};}_0x467cf9[_0x4c2b('0x57')](_0x49567f);}}_0x31dae5({'count':_0x467cf9[_0x4c2b('0x58')],'rows':_0x467cf9});});},'VoiceChannels':function(_0x3077cd){return new Promise(function(_0x339d70,_0x4ae6d4){var _0x1d3b59=_[_0x4c2b('0x59')](_0x468220[_0x4c2b('0x5a')]);_0x339d70({'count':_0x1d3b59[_0x4c2b('0x58')],'rows':_0x1d3b59});});},'VoiceChannelMixMonitor':function(_0x150b9a){var _0x133cf4=this;return new Promise(function(_0x1e433a,_0x54cd10){if(ami['isConnected']()==![]){return _0x54cd10(_0x133cf4[_0x4c2b('0x13')](0x1f4,[config[_0x4c2b('0x14')]['ip'],config['asterisk'][_0x4c2b('0x15')],_0x4c2b('0x16')][_0x4c2b('0x17')]('\x20')));}var _0x461582=schema(properties[_0x4c2b('0x5b')])[_0x4c2b('0x3')](_0x150b9a);if(_0x461582[_0x4c2b('0x58')]>0x0){return _0x54cd10(_0x133cf4[_0x4c2b('0x13')](0x1f4,_[_0x4c2b('0x5c')](_0x461582,'message')[_0x4c2b('0x17')](',\x20')));}var _0x551d19=_[_0x4c2b('0x5d')](_0x468220[_0x4c2b('0x5a')],{'uniqueid':_0x150b9a[_0x4c2b('0x5e')]});if(_0x551d19&&_0x551d19[_0x4c2b('0x5f')]){var _0x4c66ed=util[_0x4c2b('0x8')](_0x4c2b('0x60'),_0x150b9a['filename']||_0x150b9a[_0x4c2b('0x5e')],_0x150b9a[_0x4c2b('0x8')]||_0x4c2b('0x61'));return ami[_0x4c2b('0x1d')]({'action':_0x4c2b('0x62'),'channel':_0x551d19[_0x4c2b('0x5f')],'file':_0x4c66ed,'options':_0x4c2b('0x63')})['then'](function(_0x56e670){var _0x5c194d=_['find'](_0x551d19[_0x4c2b('0x64')],{'filename':_0x4c2b('0x65')+_0x4c66ed[_0x4c2b('0x66')]()});if(_['isNil'](_0x5c194d)){_0x551d19[_0x4c2b('0x64')]['push']({'filename':_0x4c2b('0x65')+_0x4c66ed[_0x4c2b('0x66')](),'createdAt':moment()[_0x4c2b('0x8')](_0x4c2b('0x67')),'mixmonitorid':_0x56e670[_0x4c2b('0x68')],'status':_0x4c2b('0x69')});}else{_0x5c194d[_0x4c2b('0x68')]=_0x56e670[_0x4c2b('0x68')];_0x5c194d[_0x4c2b('0x6a')]='rec';}_0x1e433a({'code':0xc8,'message':[_0x150b9a['uniqueid'],_0x4c2b('0x6b'),_0x56e670['mixmonitorid']][_0x4c2b('0x17')]('\x20'),'mixmonitorid':_0x56e670[_0x4c2b('0x68')]});})[_0x4c2b('0x1f')](function(_0x575c1d){_0x54cd10(_0x133cf4['error'](0x1f5,[_0x150b9a[_0x4c2b('0x5e')],_0x575c1d[_0x4c2b('0x20')]['toLowerCase']()][_0x4c2b('0x17')]('\x20')));});}else{return _0x54cd10(_0x133cf4['error'](0x1f5,_0x4c2b('0x6c')));}});},'VoiceChannelStopMixMonitor':function(_0x576d77){var _0x60671d=this;return new Promise(function(_0x1b3c84,_0x429cec){if(ami[_0x4c2b('0x12')]()==![]){return _0x429cec(_0x60671d[_0x4c2b('0x13')](0x1f4,[config[_0x4c2b('0x14')]['ip'],config[_0x4c2b('0x14')][_0x4c2b('0x15')],'ami\x20disconnected'][_0x4c2b('0x17')]('\x20')));}var _0x3d7bc7=schema(properties[_0x4c2b('0x5b')])[_0x4c2b('0x3')](_0x576d77);if(_0x3d7bc7[_0x4c2b('0x58')]>0x0){return _0x429cec(_0x60671d[_0x4c2b('0x13')](0x1f4,_[_0x4c2b('0x5c')](_0x3d7bc7,_0x4c2b('0x20'))['join'](',\x20')));}var _0x4d1316=_[_0x4c2b('0x5d')](_0x468220[_0x4c2b('0x5a')],{'uniqueid':_0x576d77[_0x4c2b('0x5e')]});if(_0x4d1316){return BPromise[_0x4c2b('0x6d')]()[_0x4c2b('0x1e')](function(){if(_0x4d1316[_0x4c2b('0x5f')]){return ami['Action']({'action':_0x4c2b('0x6e'),'channel':_0x4d1316['channel'],'mixmonitorid':_0x576d77[_0x4c2b('0x68')]})[_0x4c2b('0x1f')](function(_0x5181db){});}})[_0x4c2b('0x1e')](function(){if(_0x4d1316['destinationchannel']){return ami[_0x4c2b('0x1d')]({'action':_0x4c2b('0x6e'),'channel':_0x4d1316[_0x4c2b('0x6f')],'mixmonitorid':_0x576d77[_0x4c2b('0x68')]})[_0x4c2b('0x1f')](function(_0x54b8b5){});}})[_0x4c2b('0x1e')](function(_0x54e901){var _0x17816c=_[_0x4c2b('0x5d')](_0x4d1316[_0x4c2b('0x64')],{'mixmonitorid':_0x576d77['mixmonitorid']});if(_0x17816c){_0x17816c['status']=_0x4c2b('0x70');}})[_0x4c2b('0x1e')](function(){var _0x1e6709=util[_0x4c2b('0x8')](_0x4c2b('0x60'),_0x576d77[_0x4c2b('0x71')]||_0x576d77[_0x4c2b('0x5e')],_0x576d77[_0x4c2b('0x8')]||'wav');var _0x1d9eb5=_[_0x4c2b('0x5d')](_0x4d1316[_0x4c2b('0x64')],{'filename':'/var/spool/asterisk/monitor/'+_0x1e6709[_0x4c2b('0x66')]()});if(_0x1d9eb5){_0x1d9eb5['status']='stop';}})['then'](function(){_0x1b3c84({'code':0xc8,'message':[_0x576d77[_0x4c2b('0x5e')],_0x4c2b('0x72')][_0x4c2b('0x17')]('\x20')});})['catch'](function(_0x313447){_0x429cec(_0x60671d[_0x4c2b('0x13')](0x1f5,[_0x576d77[_0x4c2b('0x5e')],_0x313447['message'][_0x4c2b('0x66')]()][_0x4c2b('0x17')]('\x20')));});}else{return _0x429cec(_0x60671d[_0x4c2b('0x13')](0x1f5,'Channel\x20doesn\x27t\x20exist'));}});},'VoiceQueuesChannels':function(_0x9933f5){return new Promise(function(_0x2d3ae0,_0x494810){var _0x37b9a5=_[_0x4c2b('0x59')](_0x468220[_0x4c2b('0x73')]);_0x2d3ae0({'count':_0x37b9a5[_0x4c2b('0x58')],'rows':_0x37b9a5});});},'VoiceQueuesChannel':function(_0x2f3612){var _0xf07ff=this;return new Promise(function(_0x437f1f,_0x1d79c4){var _0x170da1=schema(properties['voicequeuechannel'])[_0x4c2b('0x3')](_0x2f3612);if(_0x170da1['length']>0x0){return _0x1d79c4(_0xf07ff['error'](0x1f4,_['map'](_0x170da1,_0x4c2b('0x20'))[_0x4c2b('0x17')](',\x20')));}var _0x4c5722=_[_0x4c2b('0x5d')](_0x468220[_0x4c2b('0x73')],{'uniqueid':_0x2f3612['uniqueid']});if(_0x4c5722){_0x437f1f(_0x4c5722);}else{return _0x1d79c4(_0xf07ff[_0x4c2b('0x13')](0x1f5,'Channel\x20doesn\x27t\x20exist'));}});},'VoiceQueuesChannelHangup':function(_0xebb21a){var _0x190b4f=this;return new Promise(function(_0x3f6b9a,_0x24566c){if(ami[_0x4c2b('0x12')]()==![]){return _0x24566c(_0x190b4f[_0x4c2b('0x13')](0x1f4,[config[_0x4c2b('0x14')]['ip'],config[_0x4c2b('0x14')][_0x4c2b('0x15')],'ami\x20disconnected']['join']('\x20')));}var _0x69c73c=schema(properties[_0x4c2b('0x74')])[_0x4c2b('0x3')](_0xebb21a);if(_0x69c73c[_0x4c2b('0x58')]>0x0){return _0x24566c(_0x190b4f['error'](0x1f4,_[_0x4c2b('0x5c')](_0x69c73c,_0x4c2b('0x20'))[_0x4c2b('0x17')](',\x20')));}var _0x5f0c8f=_[_0x4c2b('0x5d')](_0x468220[_0x4c2b('0x73')],{'uniqueid':_0xebb21a[_0x4c2b('0x5e')]});if(_0x5f0c8f&&_0x5f0c8f[_0x4c2b('0x5f')]){return ami[_0x4c2b('0x1d')]({'action':'Hangup','channel':_0x5f0c8f['channel']})['then'](function(_0x385af3){_0x3f6b9a({'code':0xc8,'message':[_0xebb21a[_0x4c2b('0x5e')],_0x385af3[_0x4c2b('0x20')][_0x4c2b('0x66')]()][_0x4c2b('0x17')]('\x20')});})['catch'](function(_0x52935c){_0x24566c(_0x190b4f['error'](0x1f5,[_0xebb21a[_0x4c2b('0x5e')],_0x52935c[_0x4c2b('0x20')][_0x4c2b('0x66')]()]['join']('\x20')));});}else{return _0x24566c(_0x190b4f[_0x4c2b('0x13')](0x1f5,_0x4c2b('0x6c')));}});},'VoiceQueuesChannelRedirect':function(_0x3799e2){var _0x23f165=this;return new Promise(function(_0x334cf1,_0x3d544d){if(ami['isConnected']()==![]){return _0x3d544d(_0x23f165[_0x4c2b('0x13')](0x1f4,[config[_0x4c2b('0x14')]['ip'],config[_0x4c2b('0x14')][_0x4c2b('0x15')],_0x4c2b('0x16')][_0x4c2b('0x17')]('\x20')));}var _0x57f9cc=schema(properties[_0x4c2b('0x75')])['validate'](_0x3799e2);if(_0x57f9cc['length']>0x0){return _0x3d544d(_0x23f165[_0x4c2b('0x13')](0x1f4,_['map'](_0x57f9cc,_0x4c2b('0x20'))['join'](',\x20')));}var _0x43facd=_['find'](_0x468220['queueChannels'],{'uniqueid':_0x3799e2[_0x4c2b('0x5e')]});if(_0x43facd&&_0x43facd[_0x4c2b('0x5f')]){return ami[_0x4c2b('0x1d')]({'action':_0x4c2b('0x76'),'channel':_0x43facd[_0x4c2b('0x5f')],'exten':_0x3799e2['exten'],'context':_0x3799e2[_0x4c2b('0x77')]||_0x43facd[_0x4c2b('0x77')],'priority':0x1})[_0x4c2b('0x1e')](function(_0x8305d2){_0x334cf1({'code':0xc8,'message':[_0x3799e2['uniqueid'],_0x8305d2[_0x4c2b('0x20')]['toLowerCase']()][_0x4c2b('0x17')]('\x20')});})['catch'](function(_0x3c61d9){_0x3d544d(_0x23f165[_0x4c2b('0x13')](0x1f5,[_0x3799e2['uniqueid'],_0x3c61d9[_0x4c2b('0x20')]['toLowerCase']()][_0x4c2b('0x17')]('\x20')));});}else{return _0x3d544d(_0x23f165[_0x4c2b('0x13')](0x1f5,'Channel\x20doesn\x27t\x20exist'));}});},'Agents':function(_0x5b1f5c){return new Promise(function(_0x6b4df3,_0x216324){var _0x392bf1=_['values'](_0x468220[_0x4c2b('0xe')]);_0x6b4df3({'count':_0x392bf1[_0x4c2b('0x58')],'rows':_0x392bf1});});},'Telephones':function(_0x1be0fe){return new Promise(function(_0x22260e,_0x4e44b4){var _0x2991f5=_['values'](_0x468220['telephones']);_0x22260e({'count':_0x2991f5[_0x4c2b('0x58')],'rows':_0x2991f5});});},'Trunks':function(_0x9494e){return new Promise(function(_0x426853,_0x736155){var _0x167c2a=_[_0x4c2b('0x59')](_0x468220[_0x4c2b('0x78')]);_0x426853({'count':_0x167c2a[_0x4c2b('0x58')],'rows':_0x167c2a});});},'OutboundChannels':function(_0x361b34){return new Promise(function(_0x29395f,_0x523ddf){var _0x370ee9=_[_0x4c2b('0x59')](_0x468220['outboundChannels']);_0x29395f({'count':_0x370ee9['length'],'rows':_0x370ee9});});},'Outbound':function(_0x475b0){return new Promise(function(_0x2571d2,_0x3bea45){_0x2571d2(_0x468220[_0x4c2b('0x32')]);});},'Campaigns':function(_0x2b7420){return new Promise(function(_0x4cd910,_0xef0dc8){var _0xa12a2f=_[_0x4c2b('0x59')](_0x468220[_0x4c2b('0x79')]);_0x4cd910({'count':_0xa12a2f['length'],'rows':_0xa12a2f});});},'VoiceQueuesPreview':function(_0x13e1e5){var _0x166621=this;return new Promise(function(_0x19b043,_0x5a0ce4){_0x2710f0[_0x4c2b('0x7a')](_0x13e1e5['id'])[_0x4c2b('0x1e')](function(_0xa162da){_0x19b043({'code':0xc8,'message':_0xa162da[_0x4c2b('0x20')]});})['catch'](function(_0x77ae0a){_0x5a0ce4(_0x166621[_0x4c2b('0x13')](0x1f4,_0x77ae0a[_0x4c2b('0x20')]));});});},'EventManager':function(_0x3a54ba){var _0x32f9c3=this;return new Promise(function(_0x10ba52,_0x32dca4){if(!_0x3a54ba[_0x4c2b('0x7b')]){return _0x32dca4(_0x32f9c3[_0x4c2b('0x13')](0x1f4,'Event\x20name\x20mandatory'));}ami['emit'](_0x4c2b('0x7c')+_0x3a54ba['event'],_0x3a54ba[_0x4c2b('0x20')]);_0x10ba52({'code':0xc8,'message':_0x3a54ba});});},'FaxAccounts':function(_0x1d0e89){return new Promise(function(_0x43a52a,_0x20768a){var _0x4687ab=_[_0x4c2b('0x59')](_0x468220[_0x4c2b('0x7d')]);_0x43a52a({'count':_0x4687ab['length'],'rows':_0x4687ab});});},'SendFax':function(_0x37a591){var _0x354ea7=this;return new Promise(function(_0x21a31c,_0x44b962){_0x4c0cfc[_0x4c2b('0x7e')](_0x37a591)[_0x4c2b('0x1e')](function(_0x3e46a4){_0x21a31c({'code':0xc8,'message':_0x3e46a4[_0x4c2b('0x20')]});})[_0x4c2b('0x1f')](function(_0x42c0c8){_0x44b962(_0x354ea7[_0x4c2b('0x13')](0x1f4,_0x42c0c8[_0x4c2b('0x20')]));});});},'CheckAfterSend':function(_0x445f78){var _0x2f9afc=this;return new Promise(function(_0x235e01,_0x4622e1){_0x4c0cfc[_0x4c2b('0x7f')](_0x445f78)[_0x4c2b('0x1e')](function(_0xf23ebf){_0x235e01({'code':0xc8,'message':_0xf23ebf['message']});})[_0x4c2b('0x1f')](function(_0x3bd7d1){_0x4622e1(_0x2f9afc['error'](0x1f4,_0x3bd7d1[_0x4c2b('0x20')]));});});}};var _0x55ed20=jayson[_0x4c2b('0x80')](_0x3844eb)[_0x4c2b('0x81')]();_0x55ed20['on'](_0x4c2b('0x13'),function(_0x439ef5){return _0x19c1f5(_0x439ef5);});_0x55ed20[_0x4c2b('0x82')](0x232a,_0x4c2b('0x83'),function(){console[_0x4c2b('0x84')]('AMI\x20RPC\x20server\x20listening\x20on\x20127.0.0.1:%d!',0x232a);return _0x166ad7(_0x4c2b('0x85')+0x232a);});});};