Built motion from commit (unavailable).|2.5.21
[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 _0x8b2a=['fullybooted','resolve','then','actionSipShowRegistry','actionDeviceStateList','catch','log','exports','bluebird','moment','util','lodash','ami','asterisk','password','Action','promisify','error','format','Manager\x20\x22%s\x22\x20error\x20to\x20%s:%s\x20with:\x0a%s','username','inspect','Manager\x20\x22%s\x22\x20closed\x20to\x20%s:%s','port','sipshowregistry','devicestatelist','actionSipPeerStatus','actionQueueSummary','queuesummary','actionCoreShowChannels','coreshowchannels','Manager\x20\x22%s\x22\x20logged\x20on\x20to\x20%s:%s','once','close','connect','shutdown','info','Shutdown\x20\x22%s\x22\x20to\x20%s:%s\x20with:\x0a%s'];(function(_0x34ad72,_0x1e43f6){var _0x5c9aa8=function(_0x144388){while(--_0x144388){_0x34ad72['push'](_0x34ad72['shift']());}};_0x5c9aa8(++_0x1e43f6);}(_0x8b2a,0xc6));var _0xa8b2=function(_0x209575,_0x417ae0){_0x209575=_0x209575-0x0;var _0x5b183d=_0x8b2a[_0x209575];return _0x5b183d;};'use strict';var Manager=require('asterisk-manager');var BPromise=require(_0xa8b2('0x0'));var moment=require(_0xa8b2('0x1'));var util=require(_0xa8b2('0x2'));var _=require(_0xa8b2('0x3'));var logger=require('../../config/logger')(_0xa8b2('0x4'));var config=require('../../config/environment');var ami=new Manager(config[_0xa8b2('0x5')]['port'],config[_0xa8b2('0x5')]['ip'],config[_0xa8b2('0x5')]['username'],config[_0xa8b2('0x5')][_0xa8b2('0x6')],!![]);ami['keepConnected']();ami[_0xa8b2('0x7')]=BPromise[_0xa8b2('0x8')](ami['action']);function error(_0x11cf10){logger[_0xa8b2('0x9')](util[_0xa8b2('0xa')](_0xa8b2('0xb'),config[_0xa8b2('0x5')][_0xa8b2('0xc')],config[_0xa8b2('0x5')]['ip'],config[_0xa8b2('0x5')]['port'],util[_0xa8b2('0xd')](_0x11cf10,![],null)));}function close(){logger[_0xa8b2('0x9')](util[_0xa8b2('0xa')](_0xa8b2('0xe'),config[_0xa8b2('0x5')]['username'],config[_0xa8b2('0x5')]['ip'],config[_0xa8b2('0x5')][_0xa8b2('0xf')]));}ami['actionSipShowRegistry']=function(){return function(){return ami[_0xa8b2('0x7')]({'action':_0xa8b2('0x10')});};};ami['actionDeviceStateList']=function(){return function(){return ami[_0xa8b2('0x7')]({'action':_0xa8b2('0x11')});};};ami[_0xa8b2('0x12')]=function(){return function(){return ami[_0xa8b2('0x7')]({'action':'sippeerstatus'});};};ami[_0xa8b2('0x13')]=function(){return function(){return ami[_0xa8b2('0x7')]({'action':_0xa8b2('0x14')});};};ami[_0xa8b2('0x15')]=function(){return function(){return ami[_0xa8b2('0x7')]({'action':_0xa8b2('0x16')});};};function connect(_0x3a964f){logger['info'](util[_0xa8b2('0xa')](_0xa8b2('0x17'),config[_0xa8b2('0x5')][_0xa8b2('0xc')],config['asterisk']['ip'],config[_0xa8b2('0x5')][_0xa8b2('0xf')]));ami[_0xa8b2('0x18')](_0xa8b2('0x9'),error);ami['once'](_0xa8b2('0x19'),close);}ami['on'](_0xa8b2('0x1a'),connect);ami['on'](_0xa8b2('0x1b'),function(_0x8063ca){logger[_0xa8b2('0x1c')](util[_0xa8b2('0xa')](_0xa8b2('0x1d'),config[_0xa8b2('0x5')][_0xa8b2('0xc')],config[_0xa8b2('0x5')]['ip'],config['asterisk'][_0xa8b2('0xf')],util['inspect'](_0x8063ca,![],null)));});ami['on'](_0xa8b2('0x1e'),function(_0x118340){logger['info'](util[_0xa8b2('0xa')]('Fullybooted\x20\x22%s\x22\x20to\x20%s:%s',config[_0xa8b2('0x5')][_0xa8b2('0xc')],config[_0xa8b2('0x5')]['ip'],config['asterisk'][_0xa8b2('0xf')]));return BPromise[_0xa8b2('0x1f')]()[_0xa8b2('0x20')](ami[_0xa8b2('0x21')]())[_0xa8b2('0x20')](ami[_0xa8b2('0x22')]())[_0xa8b2('0x20')](ami[_0xa8b2('0x12')]())[_0xa8b2('0x20')](ami[_0xa8b2('0x13')]())[_0xa8b2('0x20')](ami['actionCoreShowChannels']())[_0xa8b2('0x23')](function(_0x2d13fe){console[_0xa8b2('0x24')](_0x2d13fe);});});ami[_0xa8b2('0x18')]('error',error);ami[_0xa8b2('0x18')](_0xa8b2('0x19'),close);module[_0xa8b2('0x25')]=ami;