Built motion from commit 9d0783e6.|2.6.13
[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 _0x00aa=['Manager\x20\x22%s\x22\x20closed\x20to\x20%s:%s','username','actionSipShowRegistry','sipshowregistry','actionDeviceStateList','devicestatelist','actionSipPeerStatus','sippeerstatus','actionQueueSummary','queuesummary','actionCoreShowChannels','coreshowchannels','info','Manager\x20\x22%s\x22\x20logged\x20on\x20to\x20%s:%s','once','close','shutdown','Shutdown\x20\x22%s\x22\x20to\x20%s:%s\x20with:\x0a%s','fullybooted','Fullybooted\x20\x22%s\x22\x20to\x20%s:%s','resolve','then','catch','[ami.js][fullybooted]','exports','asterisk-manager','bluebird','util','../../config/logger','../../config/environment','asterisk','keepConnected','Action','promisify','action','error','format','Manager\x20\x22%s\x22\x20error\x20to\x20%s:%s\x20with:\x0a%s','port','inspect'];(function(_0x565a75,_0x21827c){var _0x588e8d=function(_0x31c16b){while(--_0x31c16b){_0x565a75['push'](_0x565a75['shift']());}};_0x588e8d(++_0x21827c);}(_0x00aa,0x181));var _0xa00a=function(_0x4b73a2,_0x40b5fe){_0x4b73a2=_0x4b73a2-0x0;var _0x383c66=_0x00aa[_0x4b73a2];return _0x383c66;};'use strict';var Manager=require(_0xa00a('0x0'));var BPromise=require(_0xa00a('0x1'));var util=require(_0xa00a('0x2'));var logger=require(_0xa00a('0x3'))('ami');var config=require(_0xa00a('0x4'));var ami=new Manager(config[_0xa00a('0x5')]['port'],config[_0xa00a('0x5')]['ip'],config[_0xa00a('0x5')]['username'],config[_0xa00a('0x5')]['password'],!![]);ami[_0xa00a('0x6')]();ami[_0xa00a('0x7')]=BPromise[_0xa00a('0x8')](ami[_0xa00a('0x9')]);function error(_0x461043){logger[_0xa00a('0xa')](util[_0xa00a('0xb')](_0xa00a('0xc'),config['asterisk']['username'],config[_0xa00a('0x5')]['ip'],config[_0xa00a('0x5')][_0xa00a('0xd')],util[_0xa00a('0xe')](_0x461043,![],null)));}function close(){logger[_0xa00a('0xa')](util[_0xa00a('0xb')](_0xa00a('0xf'),config[_0xa00a('0x5')][_0xa00a('0x10')],config[_0xa00a('0x5')]['ip'],config[_0xa00a('0x5')]['port']));}ami[_0xa00a('0x11')]=function(){return function(){return ami['Action']({'action':_0xa00a('0x12')});};};ami[_0xa00a('0x13')]=function(){return function(){return ami[_0xa00a('0x7')]({'action':_0xa00a('0x14')});};};ami[_0xa00a('0x15')]=function(){return function(){return ami[_0xa00a('0x7')]({'action':_0xa00a('0x16')});};};ami[_0xa00a('0x17')]=function(){return function(){return ami[_0xa00a('0x7')]({'action':_0xa00a('0x18')});};};ami[_0xa00a('0x19')]=function(){return function(){return ami[_0xa00a('0x7')]({'action':_0xa00a('0x1a')});};};function connect(){logger[_0xa00a('0x1b')](util[_0xa00a('0xb')](_0xa00a('0x1c'),config[_0xa00a('0x5')][_0xa00a('0x10')],config['asterisk']['ip'],config[_0xa00a('0x5')][_0xa00a('0xd')]));ami[_0xa00a('0x1d')](_0xa00a('0xa'),error);ami[_0xa00a('0x1d')](_0xa00a('0x1e'),close);}ami['on']('connect',connect);ami['on'](_0xa00a('0x1f'),function(_0x497c1c){logger[_0xa00a('0x1b')](util[_0xa00a('0xb')](_0xa00a('0x20'),config[_0xa00a('0x5')][_0xa00a('0x10')],config['asterisk']['ip'],config[_0xa00a('0x5')][_0xa00a('0xd')],util[_0xa00a('0xe')](_0x497c1c,![],null)));});ami['on'](_0xa00a('0x21'),function(){logger['info'](util[_0xa00a('0xb')](_0xa00a('0x22'),config[_0xa00a('0x5')][_0xa00a('0x10')],config[_0xa00a('0x5')]['ip'],config[_0xa00a('0x5')][_0xa00a('0xd')]));return Promise[_0xa00a('0x23')]()[_0xa00a('0x24')](ami['actionSipShowRegistry']())[_0xa00a('0x24')](ami['actionDeviceStateList']())[_0xa00a('0x24')](ami[_0xa00a('0x15')]())[_0xa00a('0x24')](ami[_0xa00a('0x17')]())[_0xa00a('0x24')](ami[_0xa00a('0x19')]())[_0xa00a('0x25')](function(_0x3b4b1f){logger[_0xa00a('0xa')](_0xa00a('0x26'),util[_0xa00a('0xe')](_0x3b4b1f,{'showHidden':![],'depth':null}));});});ami['once']('error',error);ami[_0xa00a('0x1d')](_0xa00a('0x1e'),close);module[_0xa00a('0x27')]=ami;