Built motion from commit 746c7d2a.|2.5.35
[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 _0x4feb=['Manager\x20\x22%s\x22\x20error\x20to\x20%s:%s\x20with:\x0a%s','inspect','format','Manager\x20\x22%s\x22\x20closed\x20to\x20%s:%s','actionSipShowRegistry','Action','sipshowregistry','actionDeviceStateList','sippeerstatus','actionQueueSummary','queuesummary','actionCoreShowChannels','Manager\x20\x22%s\x22\x20logged\x20on\x20to\x20%s:%s','once','connect','shutdown','info','Shutdown\x20\x22%s\x22\x20to\x20%s:%s\x20with:\x0a%s','fullybooted','Fullybooted\x20\x22%s\x22\x20to\x20%s:%s','resolve','then','actionSipPeerStatus','catch','log','close','asterisk-manager','moment','../../config/logger','../../config/environment','asterisk','port','username','keepConnected','action','error'];(function(_0x3d8daa,_0x3e1dc4){var _0x52fddb=function(_0x94e066){while(--_0x94e066){_0x3d8daa['push'](_0x3d8daa['shift']());}};_0x52fddb(++_0x3e1dc4);}(_0x4feb,0x1a6));var _0xb4fe=function(_0x15362c,_0x92bcd7){_0x15362c=_0x15362c-0x0;var _0x4a65ab=_0x4feb[_0x15362c];return _0x4a65ab;};'use strict';var Manager=require(_0xb4fe('0x0'));var BPromise=require('bluebird');var moment=require(_0xb4fe('0x1'));var util=require('util');var _=require('lodash');var logger=require(_0xb4fe('0x2'))('ami');var config=require(_0xb4fe('0x3'));var ami=new Manager(config[_0xb4fe('0x4')][_0xb4fe('0x5')],config[_0xb4fe('0x4')]['ip'],config[_0xb4fe('0x4')][_0xb4fe('0x6')],config[_0xb4fe('0x4')]['password'],!![]);ami[_0xb4fe('0x7')]();ami['Action']=BPromise['promisify'](ami[_0xb4fe('0x8')]);function error(_0x45acfc){logger[_0xb4fe('0x9')](util['format'](_0xb4fe('0xa'),config['asterisk'][_0xb4fe('0x6')],config[_0xb4fe('0x4')]['ip'],config[_0xb4fe('0x4')][_0xb4fe('0x5')],util[_0xb4fe('0xb')](_0x45acfc,![],null)));}function close(){logger[_0xb4fe('0x9')](util[_0xb4fe('0xc')](_0xb4fe('0xd'),config[_0xb4fe('0x4')][_0xb4fe('0x6')],config[_0xb4fe('0x4')]['ip'],config[_0xb4fe('0x4')][_0xb4fe('0x5')]));}ami[_0xb4fe('0xe')]=function(){return function(){return ami[_0xb4fe('0xf')]({'action':_0xb4fe('0x10')});};};ami[_0xb4fe('0x11')]=function(){return function(){return ami[_0xb4fe('0xf')]({'action':'devicestatelist'});};};ami['actionSipPeerStatus']=function(){return function(){return ami[_0xb4fe('0xf')]({'action':_0xb4fe('0x12')});};};ami[_0xb4fe('0x13')]=function(){return function(){return ami[_0xb4fe('0xf')]({'action':_0xb4fe('0x14')});};};ami[_0xb4fe('0x15')]=function(){return function(){return ami[_0xb4fe('0xf')]({'action':'coreshowchannels'});};};function connect(_0x234415){logger['info'](util[_0xb4fe('0xc')](_0xb4fe('0x16'),config[_0xb4fe('0x4')]['username'],config[_0xb4fe('0x4')]['ip'],config[_0xb4fe('0x4')][_0xb4fe('0x5')]));ami['once'](_0xb4fe('0x9'),error);ami[_0xb4fe('0x17')]('close',close);}ami['on'](_0xb4fe('0x18'),connect);ami['on'](_0xb4fe('0x19'),function(_0x568f96){logger[_0xb4fe('0x1a')](util[_0xb4fe('0xc')](_0xb4fe('0x1b'),config[_0xb4fe('0x4')][_0xb4fe('0x6')],config[_0xb4fe('0x4')]['ip'],config[_0xb4fe('0x4')][_0xb4fe('0x5')],util[_0xb4fe('0xb')](_0x568f96,![],null)));});ami['on'](_0xb4fe('0x1c'),function(_0x56332c){logger[_0xb4fe('0x1a')](util[_0xb4fe('0xc')](_0xb4fe('0x1d'),config[_0xb4fe('0x4')][_0xb4fe('0x6')],config[_0xb4fe('0x4')]['ip'],config['asterisk'][_0xb4fe('0x5')]));return BPromise[_0xb4fe('0x1e')]()[_0xb4fe('0x1f')](ami[_0xb4fe('0xe')]())['then'](ami['actionDeviceStateList']())[_0xb4fe('0x1f')](ami[_0xb4fe('0x20')]())[_0xb4fe('0x1f')](ami[_0xb4fe('0x13')]())[_0xb4fe('0x1f')](ami['actionCoreShowChannels']())[_0xb4fe('0x21')](function(_0x2dfa99){console[_0xb4fe('0x22')](_0x2dfa99);});});ami[_0xb4fe('0x17')](_0xb4fe('0x9'),error);ami[_0xb4fe('0x17')](_0xb4fe('0x23'),close);module['exports']=ami;