1e6da0051518d4f6ba52417b20eccb1d70910a4b
[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 _0xa327=['./utils','xdr','env','production','asterisk','password','info','XDR\x20DISABLED','Asterisk\x20disabled\x20on\x20localhost','./agents.controller','./calls.controller','./queues.controller','./members.controller','./dials.controller','./transfers.controller','./core.controller','connect','shutdown','fullybooted','error','close','managerevent','devicestatechange','debug','format','[%s][index][devicestatechange]','device','[%s][index][agentcalled]','uniqueid','agentcalled','agentringnoanswer','[%s][index][agentringnoanswer]','agentconnect','[%s][index][agentconnect]','[%s][index][agentcomplete]','agentcomplete','queuecallerabandon','[%s][index][queuecallerabandon]','[%s][index][queuecallerjoin]','queuecallerjoin','queuecallerleave','[%s][index][queuecallerleave]','[%s][index][musiconholdstart]','musiconholdstart','musiconholdstop','[%s][index][musiconholdstop]','newstate','[%s][index][newstate]','[%s][index][hangup]','hangup','[%s][index][cdr]','blindtransfer','[%s][index][blindtransfer]','attendedtransfer','origtransfereruniqueid','varset','[%s][index][varset]','newexten','[%s][index][newexten]','[%s][index][newchannel]','newchannel','[%s][index][dialbegin]','dialbegin','[%s]dialbegin','dialend','[%s][index][dialend]','asterisk-manager'];(function(_0x58661b,_0x5953fd){var _0x472220=function(_0x4c1bdd){while(--_0x4c1bdd){_0x58661b['push'](_0x58661b['shift']());}};_0x472220(++_0x5953fd);}(_0xa327,0x191));var _0x7a32=function(_0x588502,_0x229942){_0x588502=_0x588502-0x0;var _0x40cc85=_0xa327[_0x588502];return _0x40cc85;};var AsteriskManager=require(_0x7a32('0x0'));var config=require('../../config/environment');var utils=require(_0x7a32('0x1'));var util=require('util');var isXDREnabled=config['xdr']&&config['xdr']['disabled']?!config[_0x7a32('0x2')]['disabled']:!![];var isProduction=config[_0x7a32('0x3')]===_0x7a32('0x4')||![];var isLocalAsterisk=config[_0x7a32('0x2')]&&config[_0x7a32('0x2')]['local']===!![]||![];var ami=new AsteriskManager(config[_0x7a32('0x5')]['port'],config['asterisk']['ip'],config[_0x7a32('0x5')]['username'],config[_0x7a32('0x5')][_0x7a32('0x6')],!![]);ami['keepConnected']();if(!isXDREnabled){utils[_0x7a32('0x7')](_0x7a32('0x8'));}else if(!isProduction&&!isLocalAsterisk){utils[_0x7a32('0x7')](_0x7a32('0x9'));}else{var agents=require(_0x7a32('0xa'));var calls=require(_0x7a32('0xb'));var queues=require(_0x7a32('0xc'));var recordings=require('./recordings.controller');var members=require(_0x7a32('0xd'));var dials=require(_0x7a32('0xe'));var transfers=require(_0x7a32('0xf'));var core=require(_0x7a32('0x10'));ami['on'](_0x7a32('0x11'),core['connect']);ami['on'](_0x7a32('0x12'),core[_0x7a32('0x12')]);ami['on']('fullybooted',core[_0x7a32('0x13')]);ami['on'](_0x7a32('0x14'),core[_0x7a32('0x14')]);ami['on'](_0x7a32('0x15'),core[_0x7a32('0x15')]);ami['on'](_0x7a32('0x16'),core[_0x7a32('0x16')]);ami['on'](_0x7a32('0x17'),function(_0x55ac4c){try{utils[_0x7a32('0x18')](util[_0x7a32('0x19')](_0x7a32('0x1a'),_0x55ac4c[_0x7a32('0x1b')]),_0x55ac4c);members[_0x7a32('0x17')](_0x55ac4c);}catch(_0x555197){utils[_0x7a32('0x14')](util[_0x7a32('0x19')](_0x7a32('0x1a'),_0x55ac4c[_0x7a32('0x1b')]),_0x555197);}});ami['on']('agentcalled',function(_0x59896a){try{utils[_0x7a32('0x18')](util[_0x7a32('0x19')](_0x7a32('0x1c'),_0x59896a[_0x7a32('0x1d')]),_0x59896a);agents[_0x7a32('0x1e')](_0x59896a);}catch(_0x126639){utils[_0x7a32('0x14')](util['format'](_0x7a32('0x1c'),_0x59896a['uniqueid']),_0x126639);}});ami['on'](_0x7a32('0x1f'),function(_0x209855){try{utils['debug'](util['format'](_0x7a32('0x20'),_0x209855[_0x7a32('0x1d')]),_0x209855);agents['agentringnoanswer'](_0x209855);}catch(_0x361b44){utils[_0x7a32('0x14')](util[_0x7a32('0x19')]('[%s][index][agentringnoanswer]',_0x209855['uniqueid']),_0x361b44);}});ami['on'](_0x7a32('0x21'),function(_0x103984){try{utils[_0x7a32('0x18')](util[_0x7a32('0x19')](_0x7a32('0x22'),_0x103984[_0x7a32('0x1d')]),_0x103984);agents[_0x7a32('0x21')](_0x103984);queues[_0x7a32('0x21')](_0x103984);}catch(_0x2031b8){utils['error'](util[_0x7a32('0x19')]('[%s][index][agentconnect]',_0x103984[_0x7a32('0x1d')]),_0x2031b8);}});ami['on']('agentcomplete',function(_0x5371b0){try{utils[_0x7a32('0x18')](util[_0x7a32('0x19')](_0x7a32('0x23'),_0x5371b0[_0x7a32('0x1d')]),_0x5371b0);agents[_0x7a32('0x24')](_0x5371b0);queues[_0x7a32('0x24')](_0x5371b0);members[_0x7a32('0x24')](_0x5371b0);}catch(_0x5ed74e){utils['error'](util[_0x7a32('0x19')](_0x7a32('0x23'),_0x5371b0[_0x7a32('0x1d')]),_0x5ed74e);}});ami['on'](_0x7a32('0x25'),function(_0x2ffaa4){try{utils['debug'](util[_0x7a32('0x19')](_0x7a32('0x26'),_0x2ffaa4[_0x7a32('0x1d')]),_0x2ffaa4);agents[_0x7a32('0x25')](_0x2ffaa4);queues[_0x7a32('0x25')](_0x2ffaa4);}catch(_0x4052b5){utils['error'](util[_0x7a32('0x19')](_0x7a32('0x26'),_0x2ffaa4[_0x7a32('0x1d')]),_0x4052b5);}});ami['on']('queuecallerjoin',function(_0x198570){try{utils[_0x7a32('0x18')](util[_0x7a32('0x19')](_0x7a32('0x27'),_0x198570[_0x7a32('0x1d')]),_0x198570);queues[_0x7a32('0x28')](_0x198570);recordings[_0x7a32('0x28')](_0x198570);}catch(_0x18cf2a){utils[_0x7a32('0x14')](util[_0x7a32('0x19')]('[%s][index][queuecallerjoin]',_0x198570[_0x7a32('0x1d')]),_0x18cf2a);}});ami['on'](_0x7a32('0x29'),function(_0x470eb3){try{utils[_0x7a32('0x18')](util[_0x7a32('0x19')]('[%s][index][queuecallerleave]',_0x470eb3[_0x7a32('0x1d')]),_0x470eb3);queues[_0x7a32('0x29')](_0x470eb3);}catch(_0x5ca392){utils[_0x7a32('0x14')](util[_0x7a32('0x19')](_0x7a32('0x2a'),_0x470eb3[_0x7a32('0x1d')]),_0x5ca392);}});ami['on']('musiconholdstart',function(_0x220781){try{utils[_0x7a32('0x18')](util[_0x7a32('0x19')](_0x7a32('0x2b'),_0x220781[_0x7a32('0x1d')]),_0x220781);queues[_0x7a32('0x2c')](_0x220781);calls[_0x7a32('0x2c')](_0x220781);}catch(_0x416948){utils['error'](util[_0x7a32('0x19')](_0x7a32('0x2b'),_0x220781[_0x7a32('0x1d')]),_0x416948);}});ami['on'](_0x7a32('0x2d'),function(_0x3709f4){try{utils[_0x7a32('0x18')](util[_0x7a32('0x19')](_0x7a32('0x2e'),_0x3709f4['uniqueid']),_0x3709f4);queues['musiconholdstop'](_0x3709f4);calls[_0x7a32('0x2d')](_0x3709f4);}catch(_0x4578ba){utils[_0x7a32('0x14')](util[_0x7a32('0x19')](_0x7a32('0x2e'),_0x3709f4[_0x7a32('0x1d')]),_0x4578ba);}});ami['on']('newstate',function(_0x3b6915){try{utils[_0x7a32('0x18')](util[_0x7a32('0x19')]('[%s][index][newstate]',_0x3b6915['uniqueid']),_0x3b6915);calls['newstate'](_0x3b6915);recordings[_0x7a32('0x2f')](_0x3b6915);}catch(_0x3bee61){utils[_0x7a32('0x14')](util[_0x7a32('0x19')](_0x7a32('0x30'),_0x3b6915[_0x7a32('0x1d')]),_0x3bee61);}});ami['on']('hangup',function(_0x1e15c6){try{utils['debug'](util[_0x7a32('0x19')](_0x7a32('0x31'),_0x1e15c6['uniqueid']),_0x1e15c6);calls[_0x7a32('0x32')](_0x1e15c6);recordings[_0x7a32('0x32')](_0x1e15c6);dials[_0x7a32('0x32')](_0x1e15c6);agents['hangup'](_0x1e15c6);queues['hangup'](_0x1e15c6);}catch(_0x13a003){utils['error'](util['format'](_0x7a32('0x31'),_0x1e15c6[_0x7a32('0x1d')]),_0x13a003);}});ami['on']('cdr',function(_0x19511f){try{utils['debug'](util[_0x7a32('0x19')](_0x7a32('0x33'),_0x19511f['uniqueid']),_0x19511f);members['cdr'](_0x19511f);}catch(_0x2f523a){utils['error'](util[_0x7a32('0x19')](_0x7a32('0x33'),_0x19511f[_0x7a32('0x1d')]),_0x2f523a);}});ami['on']('blindtransfer',function(_0x40dffc){try{utils[_0x7a32('0x18')](util[_0x7a32('0x19')]('[%s][index][blindtransfer]',_0x40dffc[_0x7a32('0x1d')]),_0x40dffc);queues[_0x7a32('0x34')](_0x40dffc);agents[_0x7a32('0x34')](_0x40dffc);transfers[_0x7a32('0x34')](_0x40dffc);recordings[_0x7a32('0x34')](_0x40dffc);}catch(_0xe0f5ab){utils[_0x7a32('0x14')](util[_0x7a32('0x19')](_0x7a32('0x35'),_0x40dffc[_0x7a32('0x1d')]),_0xe0f5ab);}});ami['on'](_0x7a32('0x36'),function(_0x3e1792){try{utils[_0x7a32('0x18')](util[_0x7a32('0x19')]('[%s][index][attendedtransfer]',_0x3e1792[_0x7a32('0x37')]),_0x3e1792);queues[_0x7a32('0x36')](_0x3e1792);transfers[_0x7a32('0x36')](_0x3e1792);agents[_0x7a32('0x36')](_0x3e1792);calls[_0x7a32('0x36')](_0x3e1792);}catch(_0x31e812){utils[_0x7a32('0x14')](util[_0x7a32('0x19')]('[%s][index][attendedtransfer]',_0x3e1792[_0x7a32('0x37')]),_0x31e812);}});ami['on'](_0x7a32('0x38'),function(_0x2d74df){try{utils['debug'](util[_0x7a32('0x19')](_0x7a32('0x39'),_0x2d74df[_0x7a32('0x1d')]),_0x2d74df);queues['varset'](_0x2d74df);recordings[_0x7a32('0x38')](_0x2d74df);calls[_0x7a32('0x38')](_0x2d74df);dials['varset'](_0x2d74df);}catch(_0x2cbbf8){utils[_0x7a32('0x14')](util['format'](_0x7a32('0x39'),_0x2d74df[_0x7a32('0x1d')]),_0x2cbbf8);}});ami['on'](_0x7a32('0x3a'),function(_0x186cc5){try{utils['debug'](util[_0x7a32('0x19')](_0x7a32('0x3b'),_0x186cc5[_0x7a32('0x1d')]),_0x186cc5);calls[_0x7a32('0x3a')](_0x186cc5);recordings['newexten'](_0x186cc5);dials[_0x7a32('0x3a')](_0x186cc5);}catch(_0x3bce95){utils['error'](util[_0x7a32('0x19')]('[%s][index][newexten]',_0x186cc5['uniqueid']),_0x3bce95);}});ami['on']('newchannel',function(_0x324f90){try{utils[_0x7a32('0x18')](util[_0x7a32('0x19')](_0x7a32('0x3c'),_0x324f90[_0x7a32('0x1d')]),_0x324f90);calls[_0x7a32('0x3d')](_0x324f90);recordings[_0x7a32('0x3d')](_0x324f90);}catch(_0x5b05a6){utils['error'](util[_0x7a32('0x19')](_0x7a32('0x3c'),_0x324f90[_0x7a32('0x1d')]),_0x5b05a6);}});ami['on']('dialbegin',function(_0x2ca802){try{utils['debug'](util['format'](_0x7a32('0x3e'),_0x2ca802[_0x7a32('0x1d')]),_0x2ca802);dials[_0x7a32('0x3f')](_0x2ca802);}catch(_0x48a225){utils[_0x7a32('0x14')](util['format'](_0x7a32('0x40'),_0x2ca802[_0x7a32('0x1d')]),_0x48a225);}});ami['on'](_0x7a32('0x41'),function(_0x9a934a){try{utils['debug'](util['format']('[%s][index][dialend]',_0x9a934a[_0x7a32('0x1d')]),_0x9a934a);dials['dialend'](_0x9a934a);}catch(_0x11d0d1){utils[_0x7a32('0x14')](util['format'](_0x7a32('0x42'),_0x9a934a[_0x7a32('0x1d')]),_0x11d0d1);}});}