Built motion from commit (unavailable).|2.4.19
[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 _0xf71b=['then','actionSipShowRegistry','actionQueueSummary','catch','log','error','exports','bluebird','util','lodash','../../config/logger','ami','../../config/environment','asterisk','port','password','Action','action','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','username','actionDeviceStateList','devicestatelist','actionSipPeerStatus','sippeerstatus','queuesummary','actionCoreShowChannels','info','once','connect','shutdown','Shutdown\x20\x22%s\x22\x20to\x20%s:%s\x20with:\x0a%s','resolve'];(function(_0x2d1c41,_0x274bbd){var _0x24f24d=function(_0x366c76){while(--_0x366c76){_0x2d1c41['push'](_0x2d1c41['shift']());}};_0x24f24d(++_0x274bbd);}(_0xf71b,0x11f));var _0xbf71=function(_0x222cb8,_0x8a3f76){_0x222cb8=_0x222cb8-0x0;var _0x3e4c10=_0xf71b[_0x222cb8];return _0x3e4c10;};'use strict';var Manager=require('asterisk-manager');var BPromise=require(_0xbf71('0x0'));var moment=require('moment');var util=require(_0xbf71('0x1'));var _=require(_0xbf71('0x2'));var logger=require(_0xbf71('0x3'))(_0xbf71('0x4'));var config=require(_0xbf71('0x5'));var ami=new Manager(config[_0xbf71('0x6')][_0xbf71('0x7')],config[_0xbf71('0x6')]['ip'],config[_0xbf71('0x6')]['username'],config[_0xbf71('0x6')][_0xbf71('0x8')],!![]);ami['keepConnected']();ami[_0xbf71('0x9')]=BPromise['promisify'](ami[_0xbf71('0xa')]);function error(_0x28f099){logger['error'](util[_0xbf71('0xb')](_0xbf71('0xc'),config[_0xbf71('0x6')]['username'],config[_0xbf71('0x6')]['ip'],config[_0xbf71('0x6')]['port'],util[_0xbf71('0xd')](_0x28f099,![],null)));}function close(){logger['error'](util[_0xbf71('0xb')](_0xbf71('0xe'),config['asterisk'][_0xbf71('0xf')],config[_0xbf71('0x6')]['ip'],config[_0xbf71('0x6')]['port']));}ami['actionSipShowRegistry']=function(){return function(){return ami['Action']({'action':'sipshowregistry'});};};ami[_0xbf71('0x10')]=function(){return function(){return ami[_0xbf71('0x9')]({'action':_0xbf71('0x11')});};};ami[_0xbf71('0x12')]=function(){return function(){return ami[_0xbf71('0x9')]({'action':_0xbf71('0x13')});};};ami['actionQueueSummary']=function(){return function(){return ami[_0xbf71('0x9')]({'action':_0xbf71('0x14')});};};ami[_0xbf71('0x15')]=function(){return function(){return ami[_0xbf71('0x9')]({'action':'coreshowchannels'});};};function connect(_0x4cd33b){logger[_0xbf71('0x16')](util[_0xbf71('0xb')]('Manager\x20\x22%s\x22\x20logged\x20on\x20to\x20%s:%s',config['asterisk'][_0xbf71('0xf')],config['asterisk']['ip'],config[_0xbf71('0x6')][_0xbf71('0x7')]));ami['once']('error',error);ami[_0xbf71('0x17')]('close',close);}ami['on'](_0xbf71('0x18'),connect);ami['on'](_0xbf71('0x19'),function(_0x3a10e5){logger[_0xbf71('0x16')](util[_0xbf71('0xb')](_0xbf71('0x1a'),config[_0xbf71('0x6')][_0xbf71('0xf')],config['asterisk']['ip'],config[_0xbf71('0x6')]['port'],util[_0xbf71('0xd')](_0x3a10e5,![],null)));});ami['on']('fullybooted',function(_0x172f82){logger[_0xbf71('0x16')](util[_0xbf71('0xb')]('Fullybooted\x20\x22%s\x22\x20to\x20%s:%s',config[_0xbf71('0x6')][_0xbf71('0xf')],config[_0xbf71('0x6')]['ip'],config[_0xbf71('0x6')][_0xbf71('0x7')]));return BPromise[_0xbf71('0x1b')]()[_0xbf71('0x1c')](ami[_0xbf71('0x1d')]())[_0xbf71('0x1c')](ami[_0xbf71('0x10')]())['then'](ami[_0xbf71('0x12')]())[_0xbf71('0x1c')](ami[_0xbf71('0x1e')]())[_0xbf71('0x1c')](ami[_0xbf71('0x15')]())[_0xbf71('0x1f')](function(_0x201504){console[_0xbf71('0x20')](_0x201504);});});ami['once'](_0xbf71('0x21'),error);ami[_0xbf71('0x17')]('close',close);module[_0xbf71('0x22')]=ami;