5899ef23d5187ba96c8be108f930554f7179afb2
[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 _0xa49c=['exports','asterisk-manager','bluebird','moment','util','lodash','ami','../../config/environment','port','asterisk','username','password','keepConnected','Action','action','error','Manager\x20\x22%s\x22\x20error\x20to\x20%s:%s\x20with:\x0a%s','actionSipShowRegistry','sipshowregistry','actionDeviceStateList','devicestatelist','actionSipPeerStatus','sippeerstatus','actionQueueSummary','queuesummary','actionCoreShowChannels','coreshowchannels','info','format','Manager\x20\x22%s\x22\x20logged\x20on\x20to\x20%s:%s','once','connect','shutdown','Shutdown\x20\x22%s\x22\x20to\x20%s:%s\x20with:\x0a%s','fullybooted','Fullybooted\x20\x22%s\x22\x20to\x20%s:%s','then','catch','log','close'];(function(_0x30af1b,_0x4c9d2e){var _0x53b77b=function(_0x589a36){while(--_0x589a36){_0x30af1b['push'](_0x30af1b['shift']());}};_0x53b77b(++_0x4c9d2e);}(_0xa49c,0x141));var _0xca49=function(_0x3649d3,_0x283e04){_0x3649d3=_0x3649d3-0x0;var _0x44245a=_0xa49c[_0x3649d3];return _0x44245a;};'use strict';var Manager=require(_0xca49('0x0'));var BPromise=require(_0xca49('0x1'));var moment=require(_0xca49('0x2'));var util=require(_0xca49('0x3'));var _=require(_0xca49('0x4'));var logger=require('../../config/logger')(_0xca49('0x5'));var config=require(_0xca49('0x6'));var ami=new Manager(config['asterisk'][_0xca49('0x7')],config[_0xca49('0x8')]['ip'],config[_0xca49('0x8')][_0xca49('0x9')],config[_0xca49('0x8')][_0xca49('0xa')],!![]);ami[_0xca49('0xb')]();ami[_0xca49('0xc')]=BPromise['promisify'](ami[_0xca49('0xd')]);function error(_0x1900f8){logger[_0xca49('0xe')](util['format'](_0xca49('0xf'),config[_0xca49('0x8')]['username'],config['asterisk']['ip'],config['asterisk']['port'],util['inspect'](_0x1900f8,![],null)));}function close(){logger[_0xca49('0xe')](util['format']('Manager\x20\x22%s\x22\x20closed\x20to\x20%s:%s',config[_0xca49('0x8')]['username'],config[_0xca49('0x8')]['ip'],config[_0xca49('0x8')]['port']));}ami[_0xca49('0x10')]=function(){return function(){return ami[_0xca49('0xc')]({'action':_0xca49('0x11')});};};ami[_0xca49('0x12')]=function(){return function(){return ami[_0xca49('0xc')]({'action':_0xca49('0x13')});};};ami[_0xca49('0x14')]=function(){return function(){return ami[_0xca49('0xc')]({'action':_0xca49('0x15')});};};ami[_0xca49('0x16')]=function(){return function(){return ami['Action']({'action':_0xca49('0x17')});};};ami[_0xca49('0x18')]=function(){return function(){return ami[_0xca49('0xc')]({'action':_0xca49('0x19')});};};function connect(_0x47e106){logger[_0xca49('0x1a')](util[_0xca49('0x1b')](_0xca49('0x1c'),config[_0xca49('0x8')][_0xca49('0x9')],config['asterisk']['ip'],config[_0xca49('0x8')][_0xca49('0x7')]));ami['once'](_0xca49('0xe'),error);ami[_0xca49('0x1d')]('close',close);}ami['on'](_0xca49('0x1e'),connect);ami['on'](_0xca49('0x1f'),function(_0x5238d5){logger['info'](util[_0xca49('0x1b')](_0xca49('0x20'),config['asterisk'][_0xca49('0x9')],config[_0xca49('0x8')]['ip'],config['asterisk'][_0xca49('0x7')],util['inspect'](_0x5238d5,![],null)));});ami['on'](_0xca49('0x21'),function(_0x344a5a){logger['info'](util[_0xca49('0x1b')](_0xca49('0x22'),config[_0xca49('0x8')]['username'],config[_0xca49('0x8')]['ip'],config[_0xca49('0x8')][_0xca49('0x7')]));return BPromise['resolve']()[_0xca49('0x23')](ami[_0xca49('0x10')]())['then'](ami['actionDeviceStateList']())[_0xca49('0x23')](ami[_0xca49('0x14')]())[_0xca49('0x23')](ami['actionQueueSummary']())[_0xca49('0x23')](ami['actionCoreShowChannels']())[_0xca49('0x24')](function(_0x4cbf83){console[_0xca49('0x25')](_0x4cbf83);});});ami[_0xca49('0x1d')](_0xca49('0xe'),error);ami[_0xca49('0x1d')](_0xca49('0x26'),close);module[_0xca49('0x27')]=ami;