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