fbf841760228e86d004b7d8155e8eed4f6551850
[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 _0xcd46=['run','event','Event\x20name\x20mandatory','emit','custom:','faxAccounts','checkAfterSend','server','http','listen','127.0.0.1','log','AMI\x20RPC\x20server\x20listening\x20on\x20127.0.0.1:%d!','RPC\x20listening\x20on\x20port:','lodash','util','jayson/promise','validate','moment','../../../config/environment','../properties','../ami','SIP','timers','timer','updateAcw','agents','QueuePause','error','asterisk','ami\x20disconnected','keys','module','action','Reload','then','message','catch','isConnected','join','command','Command','Action','content','voiceQueues','strategy','answered','pTalking','sumBillable','sumDuration','sumHoldTime','total','type','unmanaged','abandoned','waiting','outbound','dialActive','dialMethod','dialOriginateCallerIdName','dialOriginateCallerIdNumber','dialOriginateTimeout','dialPrefix','temp','outboundAnswerAgiCallsDay','outboundAnswerCallsDay','outboundBlacklistCallsDay','outboundBusyCallsDay','outboundDropCallsDayACS','outboundDropCallsDayCallersExit','outboundNoAnswerCallsDay','outboundNoSuchCallsDay','outboundOriginateFailureCallsDay','outboundReCallsDay','outboundRejectCallsDay','outboundUnknownCallsDay','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','predictiveIntervalDroppedCallsCallersExit','predictiveIntervalErlangCalls','predictiveIntervalErlangCallsDroppedCalls','predictiveIntervalHitRate','predictiveIntervalMultiplicativeFactor','predictiveIntervalPauses','predictiveIntervalAvailable','predictiveIntervalTotalCalls','originated','erlangCalls','erlangCallToSecond','erlangAbandonmentRate','erlangBusyFactor','startPredictive','startProgressive','Trunk','name','active','callerid','Interval','push','length','find','undefined','voicechannel','channels','uniqueid','format','%s.%s','filename','wav','MixMonitor','channel','ai(mixmonitorid)','monitors','/var/spool/asterisk/monitor/','toLowerCase','isNil','YYYY-MM-DD\x20HH:mm:ss','mixmonitorid','rec','status','Channel\x20doesn\x27t\x20exist','username','map','resolve','StopMixMonitor','destinationchannel','StopMixMonitor\x20Success','queueChannels','voicequeuechannel','Hangup','voicequeuechannelredirect','Redirect','exten','context','values','telephones','trunks','outboundChannels','campaigns'];(function(_0x15a996,_0x4cbb5b){var _0xce5f8e=function(_0x58513a){while(--_0x58513a){_0x15a996['push'](_0x15a996['shift']());}};_0xce5f8e(++_0x4cbb5b);}(_0xcd46,0x124));var _0x6cd4=function(_0x2a766d,_0x38c440){_0x2a766d=_0x2a766d-0x0;var _0x40771b=_0xcd46[_0x2a766d];return _0x40771b;};'use strict';var _=require(_0x6cd4('0x0'));var util=require(_0x6cd4('0x1'));var jayson=require(_0x6cd4('0x2'));var schema=require(_0x6cd4('0x3'));var BPromise=require('bluebird');var moment=require(_0x6cd4('0x4'));var config=require(_0x6cd4('0x5'));var properties=require(_0x6cd4('0x6'));var ami=require(_0x6cd4('0x7'));exports['listen']=function(_0xd43db8,_0xd73a,_0x12f1c8){return new BPromise(function(_0x37b98e,_0x2629d8){var _0x54222f={'QueuePause':function(_0x569f14){return new Promise(function(_0x4498f0,_0x56eda2){var _0x17936f=util['format']('%s/%s',_0x6cd4('0x8'),_0x569f14['name']);if(_0xd43db8[_0x6cd4('0x9')]&&_0xd43db8[_0x6cd4('0x9')][_0x17936f]&&_0xd43db8['timers'][_0x17936f][_0x6cd4('0xa')]){_0xd43db8[_0x6cd4('0x9')][_0x17936f][_0x6cd4('0xb')]();}if(_0xd43db8[_0x6cd4('0xc')][_0x17936f]){_0xd43db8['agents'][_0x17936f]['updateStatusRealtime']({'statePause':_0x569f14['pause']?!![]:![]});}_0x4498f0({'code':0xc8,'message':_0x6cd4('0xd')});});},'Reload':function(_0x1e2ddc){var _0x268efd=this;return new Promise(function(_0x54d081,_0x26a192){if(ami['isConnected']()==![]){return _0x26a192(_0x268efd[_0x6cd4('0xe')](0x1f4,[config[_0x6cd4('0xf')]['ip'],config[_0x6cd4('0xf')]['username'],_0x6cd4('0x10')]['join']('\x20')));}_0x1e2ddc=_['pick'](_0x1e2ddc,_[_0x6cd4('0x11')](properties[_0x6cd4('0x12')]));_0x1e2ddc[_0x6cd4('0x13')]=_0x6cd4('0x14');return ami['Action'](_0x1e2ddc)[_0x6cd4('0x15')](function(_0x2ccf4e){_0x54d081({'code':0xc8,'message':_0x2ccf4e[_0x6cd4('0x16')]});})[_0x6cd4('0x17')](function(_0x51234d){_0x26a192(_0x268efd[_0x6cd4('0xe')](0x1f5,_0x51234d[_0x6cd4('0x16')]));});});},'Command':function(_0x229726){var _0x51dc81=this;return new Promise(function(_0x2fd9db,_0x44f051){if(ami[_0x6cd4('0x18')]()==![]){return _0x44f051(_0x51dc81[_0x6cd4('0xe')](0x1f4,[config['asterisk']['ip'],config[_0x6cd4('0xf')]['username'],_0x6cd4('0x10')][_0x6cd4('0x19')]('\x20')));}_0x229726=_['pick'](_0x229726,_0x6cd4('0x1a'));_0x229726[_0x6cd4('0x13')]=_0x6cd4('0x1b');return ami[_0x6cd4('0x1c')](_0x229726)[_0x6cd4('0x15')](function(_0x2f0395){_0x2fd9db({'code':0xc8,'message':_0x2f0395[_0x6cd4('0x1d')]});})[_0x6cd4('0x17')](function(_0x4c877f){_0x44f051(_0x51dc81[_0x6cd4('0xe')](0x1f5,_0x4c877f[_0x6cd4('0x16')]));});});},'VoiceQueues':function(_0x522347){return new Promise(function(_0x282cb4,_0x3f1d79){var _0x327d94=[];for(var _0x43083a in _0xd43db8[_0x6cd4('0x1e')]){if(_0xd43db8['voiceQueues']['hasOwnProperty'](_0x43083a)){var _0x17f38f=_0xd43db8[_0x6cd4('0x1e')][_0x43083a];var _0x4cb304={'id':_0x17f38f['id'],'name':_0x17f38f['name'],'strategy':_0x17f38f[_0x6cd4('0x1f')],'answered':_0x17f38f[_0x6cd4('0x20')],'available':_0x17f38f['available'],'loggedIn':_0x17f38f['loggedIn'],'pTalking':_0x17f38f[_0x6cd4('0x21')],'sumBillable':_0x17f38f[_0x6cd4('0x22')],'sumDuration':_0x17f38f[_0x6cd4('0x23')],'sumHoldTime':_0x17f38f[_0x6cd4('0x24')]||0x0,'talking':_0x17f38f['talking'],'total':_0x17f38f[_0x6cd4('0x25')],'type':_0x17f38f[_0x6cd4('0x26')],'unmanaged':_0x17f38f[_0x6cd4('0x27')],'abandoned':_0x17f38f[_0x6cd4('0x28')],'waiting':_0x17f38f[_0x6cd4('0x29')],'loggedInDb':_0x17f38f['loggedInDb']};if(_0x17f38f['type']===_0x6cd4('0x2a')){_0x4cb304[_0x6cd4('0x2b')]=_0x17f38f['dialActive'];_0x4cb304[_0x6cd4('0x2c')]=_0x17f38f[_0x6cd4('0x2c')];_0x4cb304['dialOriginateCallerIdName']=_0x17f38f[_0x6cd4('0x2d')];_0x4cb304[_0x6cd4('0x2e')]=_0x17f38f['dialOriginateCallerIdNumber'];_0x4cb304[_0x6cd4('0x2f')]=_0x17f38f[_0x6cd4('0x2f')];_0x4cb304[_0x6cd4('0x30')]=_0x17f38f[_0x6cd4('0x30')];_0x4cb304[_0x6cd4('0x31')]=_0x17f38f[_0x6cd4('0x31')];_0x4cb304['outboundAnswerAgiCallsDay']=_0x17f38f[_0x6cd4('0x32')];_0x4cb304[_0x6cd4('0x33')]=_0x17f38f[_0x6cd4('0x33')];_0x4cb304[_0x6cd4('0x34')]=_0x17f38f['outboundBlacklistCallsDay'];_0x4cb304['outboundBusyCallsDay']=_0x17f38f[_0x6cd4('0x35')];_0x4cb304['outboundCongestionCallsDay']=_0x17f38f['outboundCongestionCallsDay'];_0x4cb304[_0x6cd4('0x36')]=_0x17f38f['outboundDropCallsDayACS'];_0x4cb304['outboundDropCallsDayCallersExit']=_0x17f38f[_0x6cd4('0x37')];_0x4cb304['outboundDropCallsDayTimeout']=_0x17f38f['outboundDropCallsDayTimeout'];_0x4cb304[_0x6cd4('0x38')]=_0x17f38f[_0x6cd4('0x38')];_0x4cb304[_0x6cd4('0x39')]=_0x17f38f[_0x6cd4('0x39')];_0x4cb304[_0x6cd4('0x3a')]=_0x17f38f[_0x6cd4('0x3a')];_0x4cb304[_0x6cd4('0x3b')]=_0x17f38f[_0x6cd4('0x3b')];_0x4cb304['outboundRejectCallsDay']=_0x17f38f[_0x6cd4('0x3c')];_0x4cb304[_0x6cd4('0x3d')]=_0x17f38f[_0x6cd4('0x3d')];_0x4cb304['predictiveIntervalAnsweredCalls']=_0x17f38f['predictiveIntervalAnsweredCalls'];_0x4cb304[_0x6cd4('0x3e')]=_0x17f38f['predictiveIntervalAvgHoldtime'];_0x4cb304['predictiveIntervalAvgTalktime']=_0x17f38f[_0x6cd4('0x3f')];_0x4cb304[_0x6cd4('0x40')]=_0x17f38f['predictiveIntervalDroppedCallsCallersExit'];_0x4cb304['predictiveIntervalDroppedCallsTimeout']=_0x17f38f['predictiveIntervalDroppedCallsTimeout'];_0x4cb304['predictiveIntervalErlangCalls']=_0x17f38f[_0x6cd4('0x41')];_0x4cb304['predictiveIntervalErlangCallsDroppedCalls']=_0x17f38f[_0x6cd4('0x42')];_0x4cb304[_0x6cd4('0x43')]=_0x17f38f[_0x6cd4('0x43')];_0x4cb304[_0x6cd4('0x44')]=_0x17f38f[_0x6cd4('0x44')];_0x4cb304[_0x6cd4('0x45')]=_0x17f38f[_0x6cd4('0x45')];_0x4cb304['predictiveIntervalAvailable']=_0x17f38f[_0x6cd4('0x46')];_0x4cb304[_0x6cd4('0x47')]=_0x17f38f['predictiveIntervalTotalCalls'];_0x4cb304[_0x6cd4('0x16')]=_0x17f38f[_0x6cd4('0x16')];_0x4cb304[_0x6cd4('0x48')]=_0x17f38f[_0x6cd4('0x48')];_0x4cb304[_0x6cd4('0x49')]=_0x17f38f['erlangCalls'];_0x4cb304[_0x6cd4('0x4a')]=_0x17f38f['erlangCallToSecond'];_0x4cb304[_0x6cd4('0x4b')]=_0x17f38f[_0x6cd4('0x4b')];_0x4cb304[_0x6cd4('0x4c')]=_0x17f38f['erlangBusyFactor'];_0x4cb304[_0x6cd4('0x4d')]=_0x17f38f[_0x6cd4('0x4d')];_0x4cb304[_0x6cd4('0x4e')]=_0x17f38f['startProgressive'];}if(_0x17f38f['Trunk']){_0x4cb304[_0x6cd4('0x4f')]={'id':_0x17f38f['Trunk']['id'],'name':_0x17f38f[_0x6cd4('0x4f')][_0x6cd4('0x50')],'active':_0x17f38f[_0x6cd4('0x4f')][_0x6cd4('0x51')],'callerid':_0x17f38f[_0x6cd4('0x4f')][_0x6cd4('0x52')]};}if(_0x17f38f[_0x6cd4('0x53')]){_0x4cb304[_0x6cd4('0x53')]={'id':_0x17f38f[_0x6cd4('0x53')]['id'],'name':_0x17f38f['Interval'][_0x6cd4('0x50')]};}_0x327d94[_0x6cd4('0x54')](_0x4cb304);}}_0x282cb4({'count':_0x327d94[_0x6cd4('0x55')],'rows':_0x327d94});});},'UpdateVoiceQueue':function(_0x16d09a){return new Promise(function(_0xf0ea6a,_0x4b1360){var _0x55d5ec=_[_0x6cd4('0x56')](_0xd43db8[_0x6cd4('0x1e')],{'id':parseInt(_0x16d09a['id'])});var _0x57b0f7=_['omit'](_0x16d09a,['id']);if(_0x55d5ec){for(var _0x4f3ce1 in _0x57b0f7){if(typeof _0x57b0f7[_0x4f3ce1]!==_0x6cd4('0x57')&&typeof _0x55d5ec[_0x4f3ce1]!==_0x6cd4('0x57')){_0x55d5ec[_0x4f3ce1]=_0x57b0f7[_0x4f3ce1];}}_0xf0ea6a(_0x55d5ec);}else{_0x4b1360();}});},'VoiceChannels':function(_0xf1f148){return new Promise(function(_0x3b8950,_0x152733){var _0x36f47f=_['values'](_0xd43db8['channels']);_0x3b8950({'count':_0x36f47f[_0x6cd4('0x55')],'rows':_0x36f47f});});},'VoiceChannelMixMonitor':function(_0x160ba7){var _0xe6a7d5=this;return new Promise(function(_0x5d57a5,_0x32d79d){if(ami[_0x6cd4('0x18')]()==![]){return _0x32d79d(_0xe6a7d5[_0x6cd4('0xe')](0x1f4,[config[_0x6cd4('0xf')]['ip'],config[_0x6cd4('0xf')]['username'],'ami\x20disconnected'][_0x6cd4('0x19')]('\x20')));}var _0x5e2106=schema(properties[_0x6cd4('0x58')])[_0x6cd4('0x3')](_0x160ba7);if(_0x5e2106['length']>0x0){return _0x32d79d(_0xe6a7d5[_0x6cd4('0xe')](0x1f4,_['map'](_0x5e2106,'message')['join'](',\x20')));}var _0x3a9cc5=_[_0x6cd4('0x56')](_0xd43db8[_0x6cd4('0x59')],{'uniqueid':_0x160ba7[_0x6cd4('0x5a')]});if(_0x3a9cc5&&_0x3a9cc5['channel']){var _0x4bc7ca=util[_0x6cd4('0x5b')](_0x6cd4('0x5c'),_0x160ba7[_0x6cd4('0x5d')]||_0x160ba7['uniqueid'],_0x160ba7['format']||_0x6cd4('0x5e'));return ami[_0x6cd4('0x1c')]({'action':_0x6cd4('0x5f'),'channel':_0x3a9cc5[_0x6cd4('0x60')],'file':_0x4bc7ca,'options':_0x6cd4('0x61')})[_0x6cd4('0x15')](function(_0x474e4b){var _0x4375cc=_['find'](_0x3a9cc5[_0x6cd4('0x62')],{'filename':_0x6cd4('0x63')+_0x4bc7ca[_0x6cd4('0x64')]()});if(_[_0x6cd4('0x65')](_0x4375cc)){_0x3a9cc5[_0x6cd4('0x62')][_0x6cd4('0x54')]({'filename':_0x6cd4('0x63')+_0x4bc7ca[_0x6cd4('0x64')](),'createdAt':moment()[_0x6cd4('0x5b')](_0x6cd4('0x66')),'mixmonitorid':_0x474e4b[_0x6cd4('0x67')],'status':_0x6cd4('0x68')});}else{_0x4375cc[_0x6cd4('0x67')]=_0x474e4b[_0x6cd4('0x67')];_0x4375cc[_0x6cd4('0x69')]='rec';}_0x5d57a5({'code':0xc8,'message':[_0x160ba7[_0x6cd4('0x5a')],'MixMonitor\x20Success',_0x474e4b[_0x6cd4('0x67')]][_0x6cd4('0x19')]('\x20'),'mixmonitorid':_0x474e4b['mixmonitorid']});})['catch'](function(_0x3857f2){_0x32d79d(_0xe6a7d5['error'](0x1f5,[_0x160ba7[_0x6cd4('0x5a')],_0x3857f2[_0x6cd4('0x16')][_0x6cd4('0x64')]()][_0x6cd4('0x19')]('\x20')));});}else{return _0x32d79d(_0xe6a7d5[_0x6cd4('0xe')](0x1f5,_0x6cd4('0x6a')));}});},'VoiceChannelStopMixMonitor':function(_0x11a94e){var _0x2e2c5c=this;return new Promise(function(_0x39c90a,_0x1b3471){if(ami[_0x6cd4('0x18')]()==![]){return _0x1b3471(_0x2e2c5c[_0x6cd4('0xe')](0x1f4,[config[_0x6cd4('0xf')]['ip'],config['asterisk'][_0x6cd4('0x6b')],_0x6cd4('0x10')][_0x6cd4('0x19')]('\x20')));}var _0x1c78c7=schema(properties[_0x6cd4('0x58')])[_0x6cd4('0x3')](_0x11a94e);if(_0x1c78c7[_0x6cd4('0x55')]>0x0){return _0x1b3471(_0x2e2c5c[_0x6cd4('0xe')](0x1f4,_[_0x6cd4('0x6c')](_0x1c78c7,_0x6cd4('0x16'))[_0x6cd4('0x19')](',\x20')));}var _0x3947b2=_[_0x6cd4('0x56')](_0xd43db8[_0x6cd4('0x59')],{'uniqueid':_0x11a94e[_0x6cd4('0x5a')]});if(_0x3947b2){return BPromise[_0x6cd4('0x6d')]()[_0x6cd4('0x15')](function(){if(_0x3947b2[_0x6cd4('0x60')]){return ami[_0x6cd4('0x1c')]({'action':'StopMixMonitor','channel':_0x3947b2[_0x6cd4('0x60')],'mixmonitorid':_0x11a94e['mixmonitorid']})[_0x6cd4('0x17')](function(_0x554bfb){});}})[_0x6cd4('0x15')](function(){if(_0x3947b2['destinationchannel']){return ami['Action']({'action':_0x6cd4('0x6e'),'channel':_0x3947b2[_0x6cd4('0x6f')],'mixmonitorid':_0x11a94e[_0x6cd4('0x67')]})[_0x6cd4('0x17')](function(_0x12a3ad){});}})['then'](function(_0x376dc3){var _0x4d37dd=_['find'](_0x3947b2[_0x6cd4('0x62')],{'mixmonitorid':_0x11a94e[_0x6cd4('0x67')]});if(_0x4d37dd){_0x4d37dd[_0x6cd4('0x69')]='stop';}})['then'](function(){var _0x1d2b5e=util['format'](_0x6cd4('0x5c'),_0x11a94e[_0x6cd4('0x5d')]||_0x11a94e['uniqueid'],_0x11a94e['format']||_0x6cd4('0x5e'));var _0x193696=_[_0x6cd4('0x56')](_0x3947b2[_0x6cd4('0x62')],{'filename':'/var/spool/asterisk/monitor/'+_0x1d2b5e[_0x6cd4('0x64')]()});if(_0x193696){_0x193696[_0x6cd4('0x69')]='stop';}})['then'](function(){_0x39c90a({'code':0xc8,'message':[_0x11a94e[_0x6cd4('0x5a')],_0x6cd4('0x70')][_0x6cd4('0x19')]('\x20')});})['catch'](function(_0x14243a){_0x1b3471(_0x2e2c5c[_0x6cd4('0xe')](0x1f5,[_0x11a94e[_0x6cd4('0x5a')],_0x14243a[_0x6cd4('0x16')][_0x6cd4('0x64')]()][_0x6cd4('0x19')]('\x20')));});}else{return _0x1b3471(_0x2e2c5c[_0x6cd4('0xe')](0x1f5,'Channel\x20doesn\x27t\x20exist'));}});},'VoiceQueuesChannels':function(_0x4feb75){return new Promise(function(_0x246250,_0x4b765e){var _0x46d7d9=_['values'](_0xd43db8[_0x6cd4('0x71')]);_0x246250({'count':_0x46d7d9['length'],'rows':_0x46d7d9});});},'VoiceQueuesChannel':function(_0x3191c7){var _0x44c345=this;return new Promise(function(_0x45eb4e,_0x1dcccc){var _0x676a2a=schema(properties[_0x6cd4('0x72')])[_0x6cd4('0x3')](_0x3191c7);if(_0x676a2a[_0x6cd4('0x55')]>0x0){return _0x1dcccc(_0x44c345[_0x6cd4('0xe')](0x1f4,_[_0x6cd4('0x6c')](_0x676a2a,_0x6cd4('0x16'))[_0x6cd4('0x19')](',\x20')));}var _0x4e7559=_[_0x6cd4('0x56')](_0xd43db8[_0x6cd4('0x71')],{'uniqueid':_0x3191c7[_0x6cd4('0x5a')]});if(_0x4e7559){_0x45eb4e(_0x4e7559);}else{return _0x1dcccc(_0x44c345[_0x6cd4('0xe')](0x1f5,'Channel\x20doesn\x27t\x20exist'));}});},'VoiceQueuesChannelHangup':function(_0x3209f9){var _0x5db9dd=this;return new Promise(function(_0x356dd2,_0x5812d8){if(ami['isConnected']()==![]){return _0x5812d8(_0x5db9dd[_0x6cd4('0xe')](0x1f4,[config[_0x6cd4('0xf')]['ip'],config[_0x6cd4('0xf')][_0x6cd4('0x6b')],_0x6cd4('0x10')]['join']('\x20')));}var _0x26d863=schema(properties['voicequeuechannelhangup'])[_0x6cd4('0x3')](_0x3209f9);if(_0x26d863[_0x6cd4('0x55')]>0x0){return _0x5812d8(_0x5db9dd['error'](0x1f4,_[_0x6cd4('0x6c')](_0x26d863,_0x6cd4('0x16'))[_0x6cd4('0x19')](',\x20')));}var _0x41c558=_[_0x6cd4('0x56')](_0xd43db8['queueChannels'],{'uniqueid':_0x3209f9[_0x6cd4('0x5a')]});if(_0x41c558&&_0x41c558[_0x6cd4('0x60')]){return ami[_0x6cd4('0x1c')]({'action':_0x6cd4('0x73'),'channel':_0x41c558['channel']})[_0x6cd4('0x15')](function(_0x55fbc1){_0x356dd2({'code':0xc8,'message':[_0x3209f9[_0x6cd4('0x5a')],_0x55fbc1[_0x6cd4('0x16')]['toLowerCase']()]['join']('\x20')});})[_0x6cd4('0x17')](function(_0xd51d3f){_0x5812d8(_0x5db9dd[_0x6cd4('0xe')](0x1f5,[_0x3209f9['uniqueid'],_0xd51d3f['message']['toLowerCase']()]['join']('\x20')));});}else{return _0x5812d8(_0x5db9dd['error'](0x1f5,_0x6cd4('0x6a')));}});},'VoiceQueuesChannelRedirect':function(_0x3d935e){var _0x2f51e5=this;return new Promise(function(_0x55d882,_0x446eee){if(ami[_0x6cd4('0x18')]()==![]){return _0x446eee(_0x2f51e5['error'](0x1f4,[config[_0x6cd4('0xf')]['ip'],config['asterisk'][_0x6cd4('0x6b')],_0x6cd4('0x10')][_0x6cd4('0x19')]('\x20')));}var _0x61a54a=schema(properties[_0x6cd4('0x74')])[_0x6cd4('0x3')](_0x3d935e);if(_0x61a54a[_0x6cd4('0x55')]>0x0){return _0x446eee(_0x2f51e5[_0x6cd4('0xe')](0x1f4,_[_0x6cd4('0x6c')](_0x61a54a,_0x6cd4('0x16'))[_0x6cd4('0x19')](',\x20')));}var _0x30c7b2=_[_0x6cd4('0x56')](_0xd43db8['queueChannels'],{'uniqueid':_0x3d935e[_0x6cd4('0x5a')]});if(_0x30c7b2&&_0x30c7b2[_0x6cd4('0x60')]){return ami[_0x6cd4('0x1c')]({'action':_0x6cd4('0x75'),'channel':_0x30c7b2[_0x6cd4('0x60')],'exten':_0x3d935e[_0x6cd4('0x76')],'context':_0x3d935e[_0x6cd4('0x77')]||_0x30c7b2[_0x6cd4('0x77')],'priority':0x1})[_0x6cd4('0x15')](function(_0x2fd553){_0x55d882({'code':0xc8,'message':[_0x3d935e[_0x6cd4('0x5a')],_0x2fd553[_0x6cd4('0x16')][_0x6cd4('0x64')]()][_0x6cd4('0x19')]('\x20')});})[_0x6cd4('0x17')](function(_0x1d86ec){_0x446eee(_0x2f51e5['error'](0x1f5,[_0x3d935e[_0x6cd4('0x5a')],_0x1d86ec[_0x6cd4('0x16')][_0x6cd4('0x64')]()][_0x6cd4('0x19')]('\x20')));});}else{return _0x446eee(_0x2f51e5[_0x6cd4('0xe')](0x1f5,_0x6cd4('0x6a')));}});},'Agents':function(_0xc7772){return new Promise(function(_0x3e3276,_0x57cf03){var _0x143af3=_['values'](_0xd43db8[_0x6cd4('0xc')]);_0x3e3276({'count':_0x143af3['length'],'rows':_0x143af3});});},'Telephones':function(_0x4b6036){return new Promise(function(_0x49705a,_0x32ef85){var _0xc61c79=_[_0x6cd4('0x78')](_0xd43db8[_0x6cd4('0x79')]);_0x49705a({'count':_0xc61c79['length'],'rows':_0xc61c79});});},'Trunks':function(_0x3a986c){return new Promise(function(_0x2b539c,_0x1c0ef9){var _0x3571a8=_['values'](_0xd43db8[_0x6cd4('0x7a')]);_0x2b539c({'count':_0x3571a8['length'],'rows':_0x3571a8});});},'OutboundChannels':function(_0x46f6be){return new Promise(function(_0x28822f,_0x976202){var _0x30ced0=_[_0x6cd4('0x78')](_0xd43db8[_0x6cd4('0x7b')]);_0x28822f({'count':_0x30ced0['length'],'rows':_0x30ced0});});},'Outbound':function(_0x5d592d){return new Promise(function(_0x47a1c2,_0x7c91d0){_0x47a1c2(_0xd43db8['outbound']);});},'Campaigns':function(_0x5ed532){return new Promise(function(_0x27968e,_0x1c2c6d){var _0x12630d=_[_0x6cd4('0x78')](_0xd43db8[_0x6cd4('0x7c')]);_0x27968e({'count':_0x12630d[_0x6cd4('0x55')],'rows':_0x12630d});});},'VoiceQueuesPreview':function(_0x58b881){var _0x2dfeb0=this;return new Promise(function(_0x2040e9,_0x4da431){_0xd73a[_0x6cd4('0x7d')](_0x58b881['id'])[_0x6cd4('0x15')](function(_0x525a77){_0x2040e9({'code':0xc8,'message':_0x525a77['message']});})[_0x6cd4('0x17')](function(_0x44403d){_0x4da431(_0x2dfeb0[_0x6cd4('0xe')](0x1f4,_0x44403d['message']));});});},'EventManager':function(_0x573767){var _0x5bc293=this;return new Promise(function(_0x79ab44,_0x1f8957){if(!_0x573767[_0x6cd4('0x7e')]){return _0x1f8957(_0x5bc293[_0x6cd4('0xe')](0x1f4,_0x6cd4('0x7f')));}ami[_0x6cd4('0x80')](_0x6cd4('0x81')+_0x573767[_0x6cd4('0x7e')],_0x573767[_0x6cd4('0x16')]);_0x79ab44({'code':0xc8,'message':_0x573767});});},'FaxAccounts':function(_0x578cdb){return new Promise(function(_0x320d08,_0x3644c8){var _0x28d040=_['values'](_0xd43db8[_0x6cd4('0x82')]);_0x320d08({'count':_0x28d040[_0x6cd4('0x55')],'rows':_0x28d040});});},'SendFax':function(_0x18f5f1){var _0x20cdbc=this;return new Promise(function(_0x151fb2,_0x1a38a7){_0x12f1c8['send'](_0x18f5f1)[_0x6cd4('0x15')](function(_0x64c3d9){_0x151fb2({'code':0xc8,'message':_0x64c3d9[_0x6cd4('0x16')]});})[_0x6cd4('0x17')](function(_0x192fb9){_0x1a38a7(_0x20cdbc[_0x6cd4('0xe')](0x1f4,_0x192fb9[_0x6cd4('0x16')]));});});},'CheckAfterSend':function(_0x43c716){var _0x3eec60=this;return new Promise(function(_0x279b28,_0x3bdb3a){_0x12f1c8[_0x6cd4('0x83')](_0x43c716)[_0x6cd4('0x15')](function(_0x178500){_0x279b28({'code':0xc8,'message':_0x178500[_0x6cd4('0x16')]});})['catch'](function(_0x1e9ca2){_0x3bdb3a(_0x3eec60['error'](0x1f4,_0x1e9ca2[_0x6cd4('0x16')]));});});}};var _0x171c28=jayson[_0x6cd4('0x84')](_0x54222f)[_0x6cd4('0x85')]();_0x171c28['on'](_0x6cd4('0xe'),function(_0x323199){return _0x2629d8(_0x323199);});_0x171c28[_0x6cd4('0x86')](0x232a,_0x6cd4('0x87'),function(){console[_0x6cd4('0x88')](_0x6cd4('0x89'),0x232a);return _0x37b98e(_0x6cd4('0x8a')+0x232a);});});};