98a7ecba43292d29977de3a28bafd809dfd92ba9
[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 _0xb091=['queuecallerleave','[%s][index][queuecallerleave]','musiconholdstart','[%s][index][musiconholdstart]','[%s][index][musiconholdstop]','musiconholdstop','newstate','[%s][index][newstate]','[%s][index][hangup]','hangup','[%s][index][cdr]','cdr','blindtransfer','[%s][index][blindtransfer]','attendedtransfer','[%s][index][attendedtransfer]','varset','[%s][index][varset]','newexten','[%s][index][newexten]','newchannel','[%s][index][newchannel]','dialbegin','[%s][index][dialbegin]','dialend','[%s][index][dialend]','../../config/environment','./utils','util','xdr','disabled','asterisk','port','username','password','keepConnected','info','XDR\x20DISABLED','Asterisk\x20disabled\x20on\x20localhost','./agents.controller','./calls.controller','./queues.controller','./members.controller','./dials.controller','connect','shutdown','fullybooted','error','close','managerevent','devicestatechange','debug','format','[%s][index][devicestatechange]','device','agentcalled','[%s][index][agentcalled]','uniqueid','agentringnoanswer','[%s][index][agentringnoanswer]','agentconnect','[%s][index][agentconnect]','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','[%s][index][queuecallerabandon]','queuecallerjoin','[%s][index][queuecallerjoin]'];(function(_0x32825e,_0x5981c1){var _0x119578=function(_0x40ce3d){while(--_0x40ce3d){_0x32825e['push'](_0x32825e['shift']());}};_0x119578(++_0x5981c1);}(_0xb091,0x16e));var _0x1b09=function(_0x1d6d5d,_0x38cbe7){_0x1d6d5d=_0x1d6d5d-0x0;var _0x41d3f7=_0xb091[_0x1d6d5d];return _0x41d3f7;};var AsteriskManager=require('asterisk-manager');var config=require(_0x1b09('0x0'));var utils=require(_0x1b09('0x1'));var util=require(_0x1b09('0x2'));var isXDREnabled=config[_0x1b09('0x3')]&&!config['xdr'][_0x1b09('0x4')];var isProduction=config['env']==='production'||![];var isLocalAsterisk=config[_0x1b09('0x3')]&&config[_0x1b09('0x3')]['local']===!![]||![];var ami=new AsteriskManager(config[_0x1b09('0x5')][_0x1b09('0x6')],config[_0x1b09('0x5')]['ip'],config['asterisk'][_0x1b09('0x7')],config[_0x1b09('0x5')][_0x1b09('0x8')],!![]);ami[_0x1b09('0x9')]();if(!isXDREnabled){utils[_0x1b09('0xa')](_0x1b09('0xb'));}else if(!isProduction&&!isLocalAsterisk){utils[_0x1b09('0xa')](_0x1b09('0xc'));}else{var agents=require(_0x1b09('0xd'));var calls=require(_0x1b09('0xe'));var queues=require(_0x1b09('0xf'));var recordings=require('./recordings.controller');var members=require(_0x1b09('0x10'));var dials=require(_0x1b09('0x11'));var transfers=require('./transfers.controller');var core=require('./core.controller');ami['on'](_0x1b09('0x12'),core[_0x1b09('0x12')]);ami['on'](_0x1b09('0x13'),core[_0x1b09('0x13')]);ami['on'](_0x1b09('0x14'),core[_0x1b09('0x14')]);ami['on'](_0x1b09('0x15'),core['error']);ami['on'](_0x1b09('0x16'),core['close']);ami['on'](_0x1b09('0x17'),core[_0x1b09('0x17')]);ami['on'](_0x1b09('0x18'),function(_0x37673e){try{utils[_0x1b09('0x19')](util[_0x1b09('0x1a')](_0x1b09('0x1b'),_0x37673e[_0x1b09('0x1c')]),_0x37673e);members[_0x1b09('0x18')](_0x37673e);}catch(_0x32244e){utils[_0x1b09('0x15')](util[_0x1b09('0x1a')](_0x1b09('0x1b'),_0x37673e['device']),_0x32244e);}});ami['on'](_0x1b09('0x1d'),function(_0x1c1ef9){try{utils['debug'](util['format'](_0x1b09('0x1e'),_0x1c1ef9['uniqueid']),_0x1c1ef9);agents[_0x1b09('0x1d')](_0x1c1ef9);}catch(_0x5bb127){utils[_0x1b09('0x15')](util[_0x1b09('0x1a')](_0x1b09('0x1e'),_0x1c1ef9[_0x1b09('0x1f')]),_0x5bb127);}});ami['on'](_0x1b09('0x20'),function(_0x24889f){try{utils[_0x1b09('0x19')](util[_0x1b09('0x1a')]('[%s][index][agentringnoanswer]',_0x24889f['uniqueid']),_0x24889f);agents[_0x1b09('0x20')](_0x24889f);}catch(_0x41c786){utils['error'](util[_0x1b09('0x1a')](_0x1b09('0x21'),_0x24889f[_0x1b09('0x1f')]),_0x41c786);}});ami['on'](_0x1b09('0x22'),function(_0x5a9677){try{utils[_0x1b09('0x19')](util[_0x1b09('0x1a')]('[%s][index][agentconnect]',_0x5a9677[_0x1b09('0x1f')]),_0x5a9677);agents[_0x1b09('0x22')](_0x5a9677);queues['agentconnect'](_0x5a9677);}catch(_0x13c89c){utils[_0x1b09('0x15')](util[_0x1b09('0x1a')](_0x1b09('0x23'),_0x5a9677['uniqueid']),_0x13c89c);}});ami['on'](_0x1b09('0x24'),function(_0x3cdbc5){try{utils['debug'](util[_0x1b09('0x1a')](_0x1b09('0x25'),_0x3cdbc5[_0x1b09('0x1f')]),_0x3cdbc5);agents[_0x1b09('0x24')](_0x3cdbc5);queues[_0x1b09('0x24')](_0x3cdbc5);members[_0x1b09('0x24')](_0x3cdbc5);}catch(_0x34620f){utils['error'](util[_0x1b09('0x1a')](_0x1b09('0x25'),_0x3cdbc5['uniqueid']),_0x34620f);}});ami['on'](_0x1b09('0x26'),function(_0x1a6130){try{utils[_0x1b09('0x19')](util[_0x1b09('0x1a')](_0x1b09('0x27'),_0x1a6130['uniqueid']),_0x1a6130);agents[_0x1b09('0x26')](_0x1a6130);queues['queuecallerabandon'](_0x1a6130);}catch(_0x143829){utils['error'](util[_0x1b09('0x1a')](_0x1b09('0x27'),_0x1a6130[_0x1b09('0x1f')]),_0x143829);}});ami['on'](_0x1b09('0x28'),function(_0x35b14c){try{utils[_0x1b09('0x19')](util[_0x1b09('0x1a')](_0x1b09('0x29'),_0x35b14c[_0x1b09('0x1f')]),_0x35b14c);queues[_0x1b09('0x28')](_0x35b14c);recordings['queuecallerjoin'](_0x35b14c);}catch(_0x267b28){utils[_0x1b09('0x15')](util[_0x1b09('0x1a')]('[%s][index][queuecallerjoin]',_0x35b14c[_0x1b09('0x1f')]),_0x267b28);}});ami['on'](_0x1b09('0x2a'),function(_0x4662d6){try{utils[_0x1b09('0x19')](util[_0x1b09('0x1a')](_0x1b09('0x2b'),_0x4662d6[_0x1b09('0x1f')]),_0x4662d6);queues[_0x1b09('0x2a')](_0x4662d6);}catch(_0x4dc5d0){utils[_0x1b09('0x15')](util['format'](_0x1b09('0x2b'),_0x4662d6['uniqueid']),_0x4dc5d0);}});ami['on'](_0x1b09('0x2c'),function(_0x278aa8){try{utils[_0x1b09('0x19')](util[_0x1b09('0x1a')](_0x1b09('0x2d'),_0x278aa8[_0x1b09('0x1f')]),_0x278aa8);queues[_0x1b09('0x2c')](_0x278aa8);calls[_0x1b09('0x2c')](_0x278aa8);}catch(_0x43032f){utils[_0x1b09('0x15')](util[_0x1b09('0x1a')](_0x1b09('0x2d'),_0x278aa8[_0x1b09('0x1f')]),_0x43032f);}});ami['on']('musiconholdstop',function(_0x588b90){try{utils[_0x1b09('0x19')](util[_0x1b09('0x1a')](_0x1b09('0x2e'),_0x588b90[_0x1b09('0x1f')]),_0x588b90);queues[_0x1b09('0x2f')](_0x588b90);calls[_0x1b09('0x2f')](_0x588b90);}catch(_0x529a21){utils[_0x1b09('0x15')](util['format']('[%s][index][musiconholdstop]',_0x588b90[_0x1b09('0x1f')]),_0x529a21);}});ami['on']('newstate',function(_0x966873){try{utils[_0x1b09('0x19')](util[_0x1b09('0x1a')]('[%s][index][newstate]',_0x966873[_0x1b09('0x1f')]),_0x966873);calls[_0x1b09('0x30')](_0x966873);recordings[_0x1b09('0x30')](_0x966873);}catch(_0x58c7c2){utils[_0x1b09('0x15')](util[_0x1b09('0x1a')](_0x1b09('0x31'),_0x966873[_0x1b09('0x1f')]),_0x58c7c2);}});ami['on']('hangup',function(_0x36f814){try{utils[_0x1b09('0x19')](util['format'](_0x1b09('0x32'),_0x36f814[_0x1b09('0x1f')]),_0x36f814);calls['hangup'](_0x36f814);recordings['hangup'](_0x36f814);dials['hangup'](_0x36f814);agents['hangup'](_0x36f814);queues[_0x1b09('0x33')](_0x36f814);}catch(_0xabc336){utils[_0x1b09('0x15')](util['format'](_0x1b09('0x32'),_0x36f814[_0x1b09('0x1f')]),_0xabc336);}});ami['on']('cdr',function(_0x1ad7b6){try{utils[_0x1b09('0x19')](util[_0x1b09('0x1a')](_0x1b09('0x34'),_0x1ad7b6[_0x1b09('0x1f')]),_0x1ad7b6);members[_0x1b09('0x35')](_0x1ad7b6);}catch(_0x1bd847){utils[_0x1b09('0x15')](util[_0x1b09('0x1a')](_0x1b09('0x34'),_0x1ad7b6['uniqueid']),_0x1bd847);}});ami['on'](_0x1b09('0x36'),function(_0x4116b0){try{utils[_0x1b09('0x19')](util['format'](_0x1b09('0x37'),_0x4116b0['uniqueid']),_0x4116b0);queues[_0x1b09('0x36')](_0x4116b0);agents[_0x1b09('0x36')](_0x4116b0);transfers['blindtransfer'](_0x4116b0);recordings[_0x1b09('0x36')](_0x4116b0);}catch(_0x9be1a){utils[_0x1b09('0x15')](util[_0x1b09('0x1a')](_0x1b09('0x37'),_0x4116b0[_0x1b09('0x1f')]),_0x9be1a);}});ami['on']('attendedtransfer',function(_0x479dfc){try{utils['debug'](util[_0x1b09('0x1a')]('[%s][index][attendedtransfer]',_0x479dfc['origtransfereruniqueid']),_0x479dfc);queues[_0x1b09('0x38')](_0x479dfc);transfers[_0x1b09('0x38')](_0x479dfc);agents[_0x1b09('0x38')](_0x479dfc);calls[_0x1b09('0x38')](_0x479dfc);}catch(_0x66ca28){utils[_0x1b09('0x15')](util[_0x1b09('0x1a')](_0x1b09('0x39'),_0x479dfc['origtransfereruniqueid']),_0x66ca28);}});ami['on'](_0x1b09('0x3a'),function(_0x3c6ea6){try{utils[_0x1b09('0x19')](util['format']('[%s][index][varset]',_0x3c6ea6[_0x1b09('0x1f')]),_0x3c6ea6);queues['varset'](_0x3c6ea6);recordings[_0x1b09('0x3a')](_0x3c6ea6);calls[_0x1b09('0x3a')](_0x3c6ea6);dials['varset'](_0x3c6ea6);}catch(_0x17378b){utils[_0x1b09('0x15')](util['format'](_0x1b09('0x3b'),_0x3c6ea6[_0x1b09('0x1f')]),_0x17378b);}});ami['on'](_0x1b09('0x3c'),function(_0x3d4144){try{utils[_0x1b09('0x19')](util['format'](_0x1b09('0x3d'),_0x3d4144[_0x1b09('0x1f')]),_0x3d4144);calls[_0x1b09('0x3c')](_0x3d4144);recordings[_0x1b09('0x3c')](_0x3d4144);dials[_0x1b09('0x3c')](_0x3d4144);}catch(_0x1d75d9){utils[_0x1b09('0x15')](util['format']('[%s][index][newexten]',_0x3d4144[_0x1b09('0x1f')]),_0x1d75d9);}});ami['on'](_0x1b09('0x3e'),function(_0x327254){try{utils['debug'](util[_0x1b09('0x1a')](_0x1b09('0x3f'),_0x327254[_0x1b09('0x1f')]),_0x327254);calls['newchannel'](_0x327254);recordings[_0x1b09('0x3e')](_0x327254);}catch(_0x2dcdb6){utils[_0x1b09('0x15')](util[_0x1b09('0x1a')](_0x1b09('0x3f'),_0x327254[_0x1b09('0x1f')]),_0x2dcdb6);}});ami['on'](_0x1b09('0x40'),function(_0x256d47){try{utils[_0x1b09('0x19')](util[_0x1b09('0x1a')](_0x1b09('0x41'),_0x256d47[_0x1b09('0x1f')]),_0x256d47);dials[_0x1b09('0x40')](_0x256d47);}catch(_0x44cae9){utils[_0x1b09('0x15')](util['format']('[%s]dialbegin',_0x256d47[_0x1b09('0x1f')]),_0x44cae9);}});ami['on']('dialend',function(_0x315fe3){try{utils[_0x1b09('0x19')](util[_0x1b09('0x1a')]('[%s][index][dialend]',_0x315fe3['uniqueid']),_0x315fe3);dials[_0x1b09('0x42')](_0x315fe3);}catch(_0x7d382d){utils['error'](util[_0x1b09('0x1a')](_0x1b09('0x43'),_0x315fe3[_0x1b09('0x1f')]),_0x7d382d);}});}