0a0f630bd169bd6532918b896deb3e59a1e00d8b
[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 _0x378f=['local','asterisk','port','username','password','XDR\x20DISABLED','info','Asterisk\x20disabled\x20on\x20localhost','./calls.controller','./recordings.controller','./members.controller','./transfers.controller','connect','shutdown','fullybooted','error','close','managerevent','debug','[%s][index][devicestatechange]','device','format','agentcalled','uniqueid','[%s][index][agentcalled]','[%s][index][agentringnoanswer]','[%s][index][agentconnect]','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','varset','[%s][index][varset]','newexten','[%s][index][newexten]','newchannel','[%s][index][newchannel]','dialbegin','[%s][index][dialbegin]','[%s]dialbegin','dialend','../../config/environment','./utils','disabled','env','production','xdr'];(function(_0x57943e,_0x2d642d){var _0x44201d=function(_0x3202a5){while(--_0x3202a5){_0x57943e['push'](_0x57943e['shift']());}};_0x44201d(++_0x2d642d);}(_0x378f,0xfe));var _0xf378=function(_0x971d1a,_0x2e27ce){_0x971d1a=_0x971d1a-0x0;var _0x20692a=_0x378f[_0x971d1a];return _0x20692a;};var AsteriskManager=require('asterisk-manager');var config=require(_0xf378('0x0'));var utils=require(_0xf378('0x1'));var util=require('util');var isXDREnabled=config['xdr']&&config['xdr'][_0xf378('0x2')]?!config['xdr'][_0xf378('0x2')]:!![];var isProduction=config[_0xf378('0x3')]===_0xf378('0x4')||![];var isLocalAsterisk=config[_0xf378('0x5')]&&config[_0xf378('0x5')][_0xf378('0x6')]===!![]||![];var ami=new AsteriskManager(config[_0xf378('0x7')][_0xf378('0x8')],config[_0xf378('0x7')]['ip'],config[_0xf378('0x7')][_0xf378('0x9')],config['asterisk'][_0xf378('0xa')],!![]);ami['keepConnected']();if(!isXDREnabled){utils['info'](_0xf378('0xb'));}else if(!isProduction&&!isLocalAsterisk){utils[_0xf378('0xc')](_0xf378('0xd'));}else{var agents=require('./agents.controller');var calls=require(_0xf378('0xe'));var queues=require('./queues.controller');var recordings=require(_0xf378('0xf'));var members=require(_0xf378('0x10'));var dials=require('./dials.controller');var transfers=require(_0xf378('0x11'));var core=require('./core.controller');ami['on'](_0xf378('0x12'),core['connect']);ami['on']('shutdown',core[_0xf378('0x13')]);ami['on'](_0xf378('0x14'),core[_0xf378('0x14')]);ami['on'](_0xf378('0x15'),core[_0xf378('0x15')]);ami['on'](_0xf378('0x16'),core[_0xf378('0x16')]);ami['on'](_0xf378('0x17'),core['managerevent']);ami['on']('devicestatechange',function(_0xa2af5c){try{utils[_0xf378('0x18')](util['format'](_0xf378('0x19'),_0xa2af5c[_0xf378('0x1a')]),_0xa2af5c);members['devicestatechange'](_0xa2af5c);}catch(_0x547af1){utils[_0xf378('0x15')](util[_0xf378('0x1b')](_0xf378('0x19'),_0xa2af5c['device']),_0x547af1);}});ami['on'](_0xf378('0x1c'),function(_0x1ef3ff){try{utils[_0xf378('0x18')](util['format']('[%s][index][agentcalled]',_0x1ef3ff[_0xf378('0x1d')]),_0x1ef3ff);agents[_0xf378('0x1c')](_0x1ef3ff);}catch(_0x5e9c71){utils['error'](util['format'](_0xf378('0x1e'),_0x1ef3ff[_0xf378('0x1d')]),_0x5e9c71);}});ami['on']('agentringnoanswer',function(_0x4b6b55){try{utils[_0xf378('0x18')](util['format'](_0xf378('0x1f'),_0x4b6b55[_0xf378('0x1d')]),_0x4b6b55);agents['agentringnoanswer'](_0x4b6b55);}catch(_0x48440b){utils[_0xf378('0x15')](util[_0xf378('0x1b')](_0xf378('0x1f'),_0x4b6b55[_0xf378('0x1d')]),_0x48440b);}});ami['on']('agentconnect',function(_0x561782){try{utils[_0xf378('0x18')](util[_0xf378('0x1b')](_0xf378('0x20'),_0x561782['uniqueid']),_0x561782);agents[_0xf378('0x21')](_0x561782);queues['agentconnect'](_0x561782);}catch(_0x2f7586){utils[_0xf378('0x15')](util[_0xf378('0x1b')](_0xf378('0x20'),_0x561782[_0xf378('0x1d')]),_0x2f7586);}});ami['on'](_0xf378('0x22'),function(_0xf01321){try{utils[_0xf378('0x18')](util[_0xf378('0x1b')](_0xf378('0x23'),_0xf01321['uniqueid']),_0xf01321);agents[_0xf378('0x22')](_0xf01321);queues['agentcomplete'](_0xf01321);members['agentcomplete'](_0xf01321);}catch(_0x2e5dee){utils['error'](util['format'](_0xf378('0x23'),_0xf01321[_0xf378('0x1d')]),_0x2e5dee);}});ami['on'](_0xf378('0x24'),function(_0x21a8ec){try{utils['debug'](util[_0xf378('0x1b')](_0xf378('0x25'),_0x21a8ec['uniqueid']),_0x21a8ec);agents['queuecallerabandon'](_0x21a8ec);queues['queuecallerabandon'](_0x21a8ec);}catch(_0x65f295){utils[_0xf378('0x15')](util['format'](_0xf378('0x25'),_0x21a8ec['uniqueid']),_0x65f295);}});ami['on'](_0xf378('0x26'),function(_0x7c4c09){try{utils[_0xf378('0x18')](util[_0xf378('0x1b')]('[%s][index][queuecallerjoin]',_0x7c4c09[_0xf378('0x1d')]),_0x7c4c09);queues[_0xf378('0x26')](_0x7c4c09);recordings[_0xf378('0x26')](_0x7c4c09);}catch(_0x33a4d8){utils[_0xf378('0x15')](util[_0xf378('0x1b')](_0xf378('0x27'),_0x7c4c09[_0xf378('0x1d')]),_0x33a4d8);}});ami['on'](_0xf378('0x28'),function(_0x1324c6){try{utils[_0xf378('0x18')](util[_0xf378('0x1b')](_0xf378('0x29'),_0x1324c6['uniqueid']),_0x1324c6);queues[_0xf378('0x28')](_0x1324c6);}catch(_0x2b01a1){utils['error'](util[_0xf378('0x1b')]('[%s][index][queuecallerleave]',_0x1324c6[_0xf378('0x1d')]),_0x2b01a1);}});ami['on'](_0xf378('0x2a'),function(_0x259768){try{utils[_0xf378('0x18')](util['format'](_0xf378('0x2b'),_0x259768['uniqueid']),_0x259768);queues[_0xf378('0x2a')](_0x259768);calls['musiconholdstart'](_0x259768);}catch(_0x2a17bf){utils['error'](util[_0xf378('0x1b')](_0xf378('0x2b'),_0x259768[_0xf378('0x1d')]),_0x2a17bf);}});ami['on'](_0xf378('0x2c'),function(_0xe577ca){try{utils[_0xf378('0x18')](util['format'](_0xf378('0x2d'),_0xe577ca[_0xf378('0x1d')]),_0xe577ca);queues[_0xf378('0x2c')](_0xe577ca);calls[_0xf378('0x2c')](_0xe577ca);}catch(_0xd65e9c){utils[_0xf378('0x15')](util[_0xf378('0x1b')](_0xf378('0x2d'),_0xe577ca['uniqueid']),_0xd65e9c);}});ami['on'](_0xf378('0x2e'),function(_0xb38b9b){try{utils[_0xf378('0x18')](util[_0xf378('0x1b')](_0xf378('0x2f'),_0xb38b9b['uniqueid']),_0xb38b9b);calls[_0xf378('0x2e')](_0xb38b9b);recordings['newstate'](_0xb38b9b);}catch(_0x5384d5){utils[_0xf378('0x15')](util['format'](_0xf378('0x2f'),_0xb38b9b['uniqueid']),_0x5384d5);}});ami['on'](_0xf378('0x30'),function(_0x2a615e){try{utils[_0xf378('0x18')](util[_0xf378('0x1b')](_0xf378('0x31'),_0x2a615e[_0xf378('0x1d')]),_0x2a615e);calls[_0xf378('0x30')](_0x2a615e);recordings['hangup'](_0x2a615e);dials[_0xf378('0x30')](_0x2a615e);agents[_0xf378('0x30')](_0x2a615e);queues['hangup'](_0x2a615e);}catch(_0x8baad0){utils['error'](util['format']('[%s][index][hangup]',_0x2a615e['uniqueid']),_0x8baad0);}});ami['on'](_0xf378('0x32'),function(_0xb20c2){try{utils[_0xf378('0x18')](util[_0xf378('0x1b')]('[%s][index][cdr]',_0xb20c2[_0xf378('0x1d')]),_0xb20c2);members[_0xf378('0x32')](_0xb20c2);}catch(_0xb058e3){utils['error'](util[_0xf378('0x1b')](_0xf378('0x33'),_0xb20c2['uniqueid']),_0xb058e3);}});ami['on'](_0xf378('0x34'),function(_0x524b66){try{utils[_0xf378('0x18')](util[_0xf378('0x1b')](_0xf378('0x35'),_0x524b66[_0xf378('0x1d')]),_0x524b66);queues[_0xf378('0x34')](_0x524b66);agents['blindtransfer'](_0x524b66);transfers[_0xf378('0x34')](_0x524b66);recordings['blindtransfer'](_0x524b66);}catch(_0x2efd6e){utils['error'](util[_0xf378('0x1b')](_0xf378('0x35'),_0x524b66[_0xf378('0x1d')]),_0x2efd6e);}});ami['on'](_0xf378('0x36'),function(_0x1db9b7){try{utils[_0xf378('0x18')](util[_0xf378('0x1b')]('[%s][index][attendedtransfer]',_0x1db9b7['origtransfereruniqueid']),_0x1db9b7);queues[_0xf378('0x36')](_0x1db9b7);transfers[_0xf378('0x36')](_0x1db9b7);agents['attendedtransfer'](_0x1db9b7);calls[_0xf378('0x36')](_0x1db9b7);}catch(_0x56f339){utils['error'](util['format']('[%s][index][attendedtransfer]',_0x1db9b7['origtransfereruniqueid']),_0x56f339);}});ami['on'](_0xf378('0x37'),function(_0x4211ac){try{utils[_0xf378('0x18')](util[_0xf378('0x1b')](_0xf378('0x38'),_0x4211ac[_0xf378('0x1d')]),_0x4211ac);queues[_0xf378('0x37')](_0x4211ac);recordings['varset'](_0x4211ac);calls[_0xf378('0x37')](_0x4211ac);dials[_0xf378('0x37')](_0x4211ac);}catch(_0x33c0cf){utils[_0xf378('0x15')](util[_0xf378('0x1b')](_0xf378('0x38'),_0x4211ac[_0xf378('0x1d')]),_0x33c0cf);}});ami['on'](_0xf378('0x39'),function(_0x216a2d){try{utils[_0xf378('0x18')](util[_0xf378('0x1b')](_0xf378('0x3a'),_0x216a2d['uniqueid']),_0x216a2d);calls['newexten'](_0x216a2d);recordings[_0xf378('0x39')](_0x216a2d);dials['newexten'](_0x216a2d);}catch(_0x39b674){utils['error'](util[_0xf378('0x1b')]('[%s][index][newexten]',_0x216a2d[_0xf378('0x1d')]),_0x39b674);}});ami['on'](_0xf378('0x3b'),function(_0x49749e){try{utils[_0xf378('0x18')](util['format'](_0xf378('0x3c'),_0x49749e[_0xf378('0x1d')]),_0x49749e);calls[_0xf378('0x3b')](_0x49749e);recordings[_0xf378('0x3b')](_0x49749e);}catch(_0x4e35a4){utils[_0xf378('0x15')](util[_0xf378('0x1b')](_0xf378('0x3c'),_0x49749e[_0xf378('0x1d')]),_0x4e35a4);}});ami['on'](_0xf378('0x3d'),function(_0x6b6cc2){try{utils['debug'](util[_0xf378('0x1b')](_0xf378('0x3e'),_0x6b6cc2[_0xf378('0x1d')]),_0x6b6cc2);dials['dialbegin'](_0x6b6cc2);}catch(_0x1375c8){utils['error'](util[_0xf378('0x1b')](_0xf378('0x3f'),_0x6b6cc2[_0xf378('0x1d')]),_0x1375c8);}});ami['on']('dialend',function(_0x2bb7cb){try{utils[_0xf378('0x18')](util[_0xf378('0x1b')]('[%s][index][dialend]',_0x2bb7cb['uniqueid']),_0x2bb7cb);dials[_0xf378('0x40')](_0x2bb7cb);}catch(_0x579dfd){utils[_0xf378('0x15')](util[_0xf378('0x1b')]('[%s][index][dialend]',_0x2bb7cb[_0xf378('0x1d')]),_0x579dfd);}});}