379a172f1dbc115ed96730df01a37db1f5187708
[motion2.git] / server / services / xdr / index.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 _0x7a61=['format','devicestatechange','[%s][index][devicestatechange]','agentcalled','uniqueid','agentringnoanswer','[%s][index][agentringnoanswer]','agentconnect','[%s][index][agentconnect]','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','[%s][index][queuecallerabandon]','queuecallerjoin','[%s][index][queuecallerjoin]','queuecallerleave','[%s][index][queuecallerleave]','musiconholdstart','[%s][index][musiconholdstart]','musiconholdstop','[%s][index][musiconholdstop]','newstate','[%s][index][newstate]','hangup','[%s][index][hangup]','cdr','[%s][index][cdr]','blindtransfer','[%s][index][blindtransfer]','attendedtransfer','[%s][index][attendedtransfer]','origtransfereruniqueid','varset','[%s][index][varset]','newexten','[%s][index][newexten]','[%s][index][newchannel]','newchannel','[%s][index][dialbegin]','dialbegin','[%s]dialbegin','[%s][index][dialend]','dialend','asterisk-manager','util','asterisk','port','xdr','./agents.controller','./queues.controller','./recordings.controller','./members.controller','./dials.controller','./transfers.controller','./core.controller','connect','shutdown','fullybooted','error','close','managerevent','debug'];(function(_0x82d2a9,_0x30d3bd){var _0x4c3631=function(_0x3bd90c){while(--_0x3bd90c){_0x82d2a9['push'](_0x82d2a9['shift']());}};_0x4c3631(++_0x30d3bd);}(_0x7a61,0x161));var _0x17a6=function(_0x45b49b,_0x5ae602){_0x45b49b=_0x45b49b-0x0;var _0xac7c07=_0x7a61[_0x45b49b];return _0xac7c07;};var AsteriskManager=require(_0x17a6('0x0'));var config=require('../../config/environment');var utils=require('./utils');var util=require(_0x17a6('0x1'));var ami=new AsteriskManager(config[_0x17a6('0x2')][_0x17a6('0x3')],config[_0x17a6('0x2')]['ip'],config[_0x17a6('0x2')]['username'],config[_0x17a6('0x2')]['password'],!![]);ami['keepConnected']();if(config[_0x17a6('0x4')]&&config[_0x17a6('0x4')]['disabled']){utils['info']('XDR\x20DISABLED');}else{var agents=require(_0x17a6('0x5'));var calls=require('./calls.controller');var queues=require(_0x17a6('0x6'));var recordings=require(_0x17a6('0x7'));var members=require(_0x17a6('0x8'));var dials=require(_0x17a6('0x9'));var transfers=require(_0x17a6('0xa'));var core=require(_0x17a6('0xb'));ami['on'](_0x17a6('0xc'),core[_0x17a6('0xc')]);ami['on']('shutdown',core[_0x17a6('0xd')]);ami['on']('fullybooted',core[_0x17a6('0xe')]);ami['on'](_0x17a6('0xf'),core[_0x17a6('0xf')]);ami['on'](_0x17a6('0x10'),core['close']);ami['on'](_0x17a6('0x11'),core[_0x17a6('0x11')]);ami['on']('devicestatechange',function(_0x2f93d5){try{utils[_0x17a6('0x12')](util[_0x17a6('0x13')]('[%s][index][devicestatechange]',_0x2f93d5['device']),_0x2f93d5);members[_0x17a6('0x14')](_0x2f93d5);}catch(_0x5b4de0){utils[_0x17a6('0xf')](util[_0x17a6('0x13')](_0x17a6('0x15'),_0x2f93d5['device']),_0x5b4de0);}});ami['on'](_0x17a6('0x16'),function(_0xa35644){try{utils[_0x17a6('0x12')](util[_0x17a6('0x13')]('[%s][index][agentcalled]',_0xa35644[_0x17a6('0x17')]),_0xa35644);agents[_0x17a6('0x16')](_0xa35644);}catch(_0x69e51e){utils[_0x17a6('0xf')](util[_0x17a6('0x13')]('[%s][index][agentcalled]',_0xa35644[_0x17a6('0x17')]),_0x69e51e);}});ami['on'](_0x17a6('0x18'),function(_0x53227b){try{utils[_0x17a6('0x12')](util['format'](_0x17a6('0x19'),_0x53227b[_0x17a6('0x17')]),_0x53227b);agents['agentringnoanswer'](_0x53227b);}catch(_0x1c3ebc){utils['error'](util[_0x17a6('0x13')]('[%s][index][agentringnoanswer]',_0x53227b[_0x17a6('0x17')]),_0x1c3ebc);}});ami['on'](_0x17a6('0x1a'),function(_0x1a011e){try{utils[_0x17a6('0x12')](util[_0x17a6('0x13')](_0x17a6('0x1b'),_0x1a011e['uniqueid']),_0x1a011e);agents[_0x17a6('0x1a')](_0x1a011e);queues['agentconnect'](_0x1a011e);}catch(_0x305884){utils['error'](util['format'](_0x17a6('0x1b'),_0x1a011e[_0x17a6('0x17')]),_0x305884);}});ami['on'](_0x17a6('0x1c'),function(_0x16e51e){try{utils['debug'](util['format'](_0x17a6('0x1d'),_0x16e51e[_0x17a6('0x17')]),_0x16e51e);agents[_0x17a6('0x1c')](_0x16e51e);queues[_0x17a6('0x1c')](_0x16e51e);members[_0x17a6('0x1c')](_0x16e51e);}catch(_0x1e0e83){utils['error'](util['format'](_0x17a6('0x1d'),_0x16e51e[_0x17a6('0x17')]),_0x1e0e83);}});ami['on'](_0x17a6('0x1e'),function(_0x3f7257){try{utils[_0x17a6('0x12')](util[_0x17a6('0x13')](_0x17a6('0x1f'),_0x3f7257[_0x17a6('0x17')]),_0x3f7257);agents['queuecallerabandon'](_0x3f7257);queues['queuecallerabandon'](_0x3f7257);}catch(_0x49258b){utils[_0x17a6('0xf')](util[_0x17a6('0x13')](_0x17a6('0x1f'),_0x3f7257[_0x17a6('0x17')]),_0x49258b);}});ami['on'](_0x17a6('0x20'),function(_0x2257ed){try{utils['debug'](util[_0x17a6('0x13')](_0x17a6('0x21'),_0x2257ed[_0x17a6('0x17')]),_0x2257ed);queues['queuecallerjoin'](_0x2257ed);recordings['queuecallerjoin'](_0x2257ed);}catch(_0x576841){utils[_0x17a6('0xf')](util[_0x17a6('0x13')](_0x17a6('0x21'),_0x2257ed['uniqueid']),_0x576841);}});ami['on'](_0x17a6('0x22'),function(_0x282928){try{utils['debug'](util[_0x17a6('0x13')]('[%s][index][queuecallerleave]',_0x282928[_0x17a6('0x17')]),_0x282928);queues[_0x17a6('0x22')](_0x282928);}catch(_0x4bf9e4){utils[_0x17a6('0xf')](util[_0x17a6('0x13')](_0x17a6('0x23'),_0x282928[_0x17a6('0x17')]),_0x4bf9e4);}});ami['on'](_0x17a6('0x24'),function(_0x25800a){try{utils['debug'](util[_0x17a6('0x13')](_0x17a6('0x25'),_0x25800a['uniqueid']),_0x25800a);queues['musiconholdstart'](_0x25800a);calls[_0x17a6('0x24')](_0x25800a);}catch(_0x4b86c8){utils[_0x17a6('0xf')](util['format'](_0x17a6('0x25'),_0x25800a[_0x17a6('0x17')]),_0x4b86c8);}});ami['on'](_0x17a6('0x26'),function(_0x50bdc7){try{utils['debug'](util[_0x17a6('0x13')](_0x17a6('0x27'),_0x50bdc7['uniqueid']),_0x50bdc7);queues[_0x17a6('0x26')](_0x50bdc7);calls[_0x17a6('0x26')](_0x50bdc7);}catch(_0x2a5663){utils[_0x17a6('0xf')](util[_0x17a6('0x13')](_0x17a6('0x27'),_0x50bdc7[_0x17a6('0x17')]),_0x2a5663);}});ami['on'](_0x17a6('0x28'),function(_0x27dc8b){try{utils[_0x17a6('0x12')](util[_0x17a6('0x13')](_0x17a6('0x29'),_0x27dc8b[_0x17a6('0x17')]),_0x27dc8b);calls[_0x17a6('0x28')](_0x27dc8b);recordings[_0x17a6('0x28')](_0x27dc8b);}catch(_0x48d86a){utils[_0x17a6('0xf')](util['format'](_0x17a6('0x29'),_0x27dc8b[_0x17a6('0x17')]),_0x48d86a);}});ami['on'](_0x17a6('0x2a'),function(_0x5a64d6){try{utils[_0x17a6('0x12')](util['format'](_0x17a6('0x2b'),_0x5a64d6[_0x17a6('0x17')]),_0x5a64d6);calls['hangup'](_0x5a64d6);recordings[_0x17a6('0x2a')](_0x5a64d6);dials[_0x17a6('0x2a')](_0x5a64d6);agents[_0x17a6('0x2a')](_0x5a64d6);queues['hangup'](_0x5a64d6);}catch(_0x2b7330){utils[_0x17a6('0xf')](util[_0x17a6('0x13')](_0x17a6('0x2b'),_0x5a64d6[_0x17a6('0x17')]),_0x2b7330);}});ami['on']('cdr',function(_0x2378f0){try{utils[_0x17a6('0x12')](util[_0x17a6('0x13')]('[%s][index][cdr]',_0x2378f0[_0x17a6('0x17')]),_0x2378f0);members[_0x17a6('0x2c')](_0x2378f0);}catch(_0x5c63e4){utils[_0x17a6('0xf')](util[_0x17a6('0x13')](_0x17a6('0x2d'),_0x2378f0[_0x17a6('0x17')]),_0x5c63e4);}});ami['on'](_0x17a6('0x2e'),function(_0x3b4ae4){try{utils[_0x17a6('0x12')](util[_0x17a6('0x13')](_0x17a6('0x2f'),_0x3b4ae4['uniqueid']),_0x3b4ae4);queues[_0x17a6('0x2e')](_0x3b4ae4);agents['blindtransfer'](_0x3b4ae4);transfers[_0x17a6('0x2e')](_0x3b4ae4);}catch(_0x24c2cf){utils['error'](util[_0x17a6('0x13')](_0x17a6('0x2f'),_0x3b4ae4[_0x17a6('0x17')]),_0x24c2cf);}});ami['on'](_0x17a6('0x30'),function(_0x1f1e19){try{utils[_0x17a6('0x12')](util[_0x17a6('0x13')](_0x17a6('0x31'),_0x1f1e19[_0x17a6('0x32')]),_0x1f1e19);queues[_0x17a6('0x30')](_0x1f1e19);transfers[_0x17a6('0x30')](_0x1f1e19);agents[_0x17a6('0x30')](_0x1f1e19);calls[_0x17a6('0x30')](_0x1f1e19);}catch(_0x3f8bda){utils[_0x17a6('0xf')](util[_0x17a6('0x13')]('[%s][index][attendedtransfer]',_0x1f1e19[_0x17a6('0x32')]),_0x3f8bda);}});ami['on'](_0x17a6('0x33'),function(_0x245f2f){try{utils['debug'](util[_0x17a6('0x13')](_0x17a6('0x34'),_0x245f2f[_0x17a6('0x17')]),_0x245f2f);queues[_0x17a6('0x33')](_0x245f2f);recordings[_0x17a6('0x33')](_0x245f2f);calls[_0x17a6('0x33')](_0x245f2f);dials[_0x17a6('0x33')](_0x245f2f);}catch(_0x2f41e3){utils[_0x17a6('0xf')](util[_0x17a6('0x13')]('[%s][index][varset]',_0x245f2f[_0x17a6('0x17')]),_0x2f41e3);}});ami['on'](_0x17a6('0x35'),function(_0x34885b){try{utils[_0x17a6('0x12')](util[_0x17a6('0x13')](_0x17a6('0x36'),_0x34885b['uniqueid']),_0x34885b);calls[_0x17a6('0x35')](_0x34885b);recordings[_0x17a6('0x35')](_0x34885b);dials[_0x17a6('0x35')](_0x34885b);}catch(_0x4ac9fe){utils[_0x17a6('0xf')](util['format'](_0x17a6('0x36'),_0x34885b['uniqueid']),_0x4ac9fe);}});ami['on']('newchannel',function(_0x705187){try{utils[_0x17a6('0x12')](util[_0x17a6('0x13')](_0x17a6('0x37'),_0x705187[_0x17a6('0x17')]),_0x705187);calls['newchannel'](_0x705187);recordings[_0x17a6('0x38')](_0x705187);}catch(_0x3450ad){utils[_0x17a6('0xf')](util[_0x17a6('0x13')](_0x17a6('0x37'),_0x705187['uniqueid']),_0x3450ad);}});ami['on']('dialbegin',function(_0x367f22){try{utils[_0x17a6('0x12')](util[_0x17a6('0x13')](_0x17a6('0x39'),_0x367f22['uniqueid']),_0x367f22);dials[_0x17a6('0x3a')](_0x367f22);}catch(_0x566fbb){utils[_0x17a6('0xf')](util[_0x17a6('0x13')](_0x17a6('0x3b'),_0x367f22[_0x17a6('0x17')]),_0x566fbb);}});ami['on']('dialend',function(_0x1a5596){try{utils[_0x17a6('0x12')](util[_0x17a6('0x13')](_0x17a6('0x3c'),_0x1a5596['uniqueid']),_0x1a5596);dials[_0x17a6('0x3d')](_0x1a5596);}catch(_0x419635){utils[_0x17a6('0xf')](util[_0x17a6('0x13')](_0x17a6('0x3c'),_0x1a5596[_0x17a6('0x17')]),_0x419635);}});}