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