bbe6f94098b7e3ce3951ec8cf0ec9184048fd935
[motion2.git] / server / services / ami / ami.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 _0xc6ef=['keepConnected','Action','promisify','action','inspect','format','Manager\x20\x22%s\x22\x20closed\x20to\x20%s:%s','sipshowregistry','actionDeviceStateList','actionSipPeerStatus','sippeerstatus','queuesummary','actionCoreShowChannels','coreshowchannels','info','Manager\x20\x22%s\x22\x20logged\x20on\x20to\x20%s:%s','once','error','close','shutdown','fullybooted','actionSipShowRegistry','then','catch','[ami.js][fullybooted]','exports','asterisk-manager','bluebird','util','asterisk','port','username','password'];(function(_0x49a087,_0x2edbdc){var _0x3d5df8=function(_0x559930){while(--_0x559930){_0x49a087['push'](_0x49a087['shift']());}};_0x3d5df8(++_0x2edbdc);}(_0xc6ef,0x7d));var _0xfc6e=function(_0x2a1f68,_0x543b54){_0x2a1f68=_0x2a1f68-0x0;var _0x503388=_0xc6ef[_0x2a1f68];return _0x503388;};'use strict';var Manager=require(_0xfc6e('0x0'));var BPromise=require(_0xfc6e('0x1'));var util=require(_0xfc6e('0x2'));var logger=require('../../config/logger')('ami');var config=require('../../config/environment');var ami=new Manager(config[_0xfc6e('0x3')][_0xfc6e('0x4')],config[_0xfc6e('0x3')]['ip'],config[_0xfc6e('0x3')][_0xfc6e('0x5')],config['asterisk'][_0xfc6e('0x6')],!![]);ami[_0xfc6e('0x7')]();ami[_0xfc6e('0x8')]=BPromise[_0xfc6e('0x9')](ami[_0xfc6e('0xa')]);function error(_0x5b1c75){logger['error'](util['format']('Manager\x20\x22%s\x22\x20error\x20to\x20%s:%s\x20with:\x0a%s',config['asterisk'][_0xfc6e('0x5')],config[_0xfc6e('0x3')]['ip'],config[_0xfc6e('0x3')][_0xfc6e('0x4')],util[_0xfc6e('0xb')](_0x5b1c75,![],null)));}function close(){logger['error'](util[_0xfc6e('0xc')](_0xfc6e('0xd'),config[_0xfc6e('0x3')][_0xfc6e('0x5')],config[_0xfc6e('0x3')]['ip'],config[_0xfc6e('0x3')][_0xfc6e('0x4')]));}ami['actionSipShowRegistry']=function(){return function(){return ami['Action']({'action':_0xfc6e('0xe')});};};ami[_0xfc6e('0xf')]=function(){return function(){return ami[_0xfc6e('0x8')]({'action':'devicestatelist'});};};ami[_0xfc6e('0x10')]=function(){return function(){return ami['Action']({'action':_0xfc6e('0x11')});};};ami['actionQueueSummary']=function(){return function(){return ami[_0xfc6e('0x8')]({'action':_0xfc6e('0x12')});};};ami[_0xfc6e('0x13')]=function(){return function(){return ami[_0xfc6e('0x8')]({'action':_0xfc6e('0x14')});};};function connect(){logger[_0xfc6e('0x15')](util['format'](_0xfc6e('0x16'),config[_0xfc6e('0x3')][_0xfc6e('0x5')],config['asterisk']['ip'],config[_0xfc6e('0x3')][_0xfc6e('0x4')]));ami[_0xfc6e('0x17')](_0xfc6e('0x18'),error);ami[_0xfc6e('0x17')](_0xfc6e('0x19'),close);}ami['on']('connect',connect);ami['on'](_0xfc6e('0x1a'),function(_0x1470f8){logger[_0xfc6e('0x15')](util[_0xfc6e('0xc')]('Shutdown\x20\x22%s\x22\x20to\x20%s:%s\x20with:\x0a%s',config['asterisk'][_0xfc6e('0x5')],config['asterisk']['ip'],config[_0xfc6e('0x3')][_0xfc6e('0x4')],util[_0xfc6e('0xb')](_0x1470f8,![],null)));});ami['on'](_0xfc6e('0x1b'),function(){logger['info'](util[_0xfc6e('0xc')]('Fullybooted\x20\x22%s\x22\x20to\x20%s:%s',config[_0xfc6e('0x3')][_0xfc6e('0x5')],config[_0xfc6e('0x3')]['ip'],config[_0xfc6e('0x3')][_0xfc6e('0x4')]));return Promise['resolve']()['then'](ami[_0xfc6e('0x1c')]())[_0xfc6e('0x1d')](ami[_0xfc6e('0xf')]())[_0xfc6e('0x1d')](ami[_0xfc6e('0x10')]())[_0xfc6e('0x1d')](ami['actionQueueSummary']())[_0xfc6e('0x1d')](ami[_0xfc6e('0x13')]())[_0xfc6e('0x1e')](function(_0x136746){logger[_0xfc6e('0x18')](_0xfc6e('0x1f'),util[_0xfc6e('0xb')](_0x136746,{'showHidden':![],'depth':null}));});});ami[_0xfc6e('0x17')](_0xfc6e('0x18'),error);ami[_0xfc6e('0x17')](_0xfc6e('0x19'),close);module[_0xfc6e('0x20')]=ami;