Built motion from commit 91ed41ac.|2.5.44
[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 _0xe260=['origtransfereruniqueid','varset','[%s][index][varset]','[%s][index][newexten]','newexten','newchannel','[%s][index][newchannel]','[%s][index][dialbegin]','dialbegin','[%s]dialbegin','dialend','[%s][index][dialend]','asterisk-manager','./utils','util','xdr','disabled','env','production','local','asterisk','username','password','keepConnected','info','./agents.controller','./calls.controller','./queues.controller','./dials.controller','./transfers.controller','connect','shutdown','fullybooted','error','close','managerevent','devicestatechange','debug','format','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]','[%s][index][queuecallerleave]','queuecallerleave','musiconholdstart','[%s][index][musiconholdstart]','musiconholdstop','[%s][index][musiconholdstop]','newstate','[%s][index][newstate]','[%s][index][hangup]','hangup','cdr','[%s][index][cdr]','blindtransfer','[%s][index][attendedtransfer]','attendedtransfer'];(function(_0x618414,_0x1a7a60){var _0x21c19a=function(_0x507b17){while(--_0x507b17){_0x618414['push'](_0x618414['shift']());}};_0x21c19a(++_0x1a7a60);}(_0xe260,0x94));var _0x0e26=function(_0x3cfa17,_0x581f25){_0x3cfa17=_0x3cfa17-0x0;var _0x458ed8=_0xe260[_0x3cfa17];return _0x458ed8;};var AsteriskManager=require(_0x0e26('0x0'));var config=require('../../config/environment');var utils=require(_0x0e26('0x1'));var util=require(_0x0e26('0x2'));var isXDREnabled=config[_0x0e26('0x3')]&&!config[_0x0e26('0x3')][_0x0e26('0x4')];var isProduction=config[_0x0e26('0x5')]===_0x0e26('0x6')||![];var isLocalAsterisk=config[_0x0e26('0x3')]&&config[_0x0e26('0x3')][_0x0e26('0x7')]===!![]||![];var ami=new AsteriskManager(config['asterisk']['port'],config[_0x0e26('0x8')]['ip'],config[_0x0e26('0x8')][_0x0e26('0x9')],config[_0x0e26('0x8')][_0x0e26('0xa')],!![]);ami[_0x0e26('0xb')]();if(!isXDREnabled){utils[_0x0e26('0xc')]('XDR\x20DISABLED');}else if(!isProduction&&!isLocalAsterisk){utils[_0x0e26('0xc')]('Asterisk\x20disabled\x20on\x20localhost');}else{var agents=require(_0x0e26('0xd'));var calls=require(_0x0e26('0xe'));var queues=require(_0x0e26('0xf'));var recordings=require('./recordings.controller');var members=require('./members.controller');var dials=require(_0x0e26('0x10'));var transfers=require(_0x0e26('0x11'));var core=require('./core.controller');ami['on'](_0x0e26('0x12'),core[_0x0e26('0x12')]);ami['on'](_0x0e26('0x13'),core['shutdown']);ami['on'](_0x0e26('0x14'),core[_0x0e26('0x14')]);ami['on'](_0x0e26('0x15'),core[_0x0e26('0x15')]);ami['on'](_0x0e26('0x16'),core[_0x0e26('0x16')]);ami['on'](_0x0e26('0x17'),core['managerevent']);ami['on'](_0x0e26('0x18'),function(_0x2f7e75){try{utils[_0x0e26('0x19')](util[_0x0e26('0x1a')]('[%s][index][devicestatechange]',_0x2f7e75[_0x0e26('0x1b')]),_0x2f7e75);members[_0x0e26('0x18')](_0x2f7e75);}catch(_0x44dbed){utils[_0x0e26('0x15')](util[_0x0e26('0x1a')]('[%s][index][devicestatechange]',_0x2f7e75[_0x0e26('0x1b')]),_0x44dbed);}});ami['on'](_0x0e26('0x1c'),function(_0x43dcd1){try{utils[_0x0e26('0x19')](util[_0x0e26('0x1a')](_0x0e26('0x1d'),_0x43dcd1[_0x0e26('0x1e')]),_0x43dcd1);agents[_0x0e26('0x1c')](_0x43dcd1);}catch(_0x1af307){utils[_0x0e26('0x15')](util[_0x0e26('0x1a')](_0x0e26('0x1d'),_0x43dcd1[_0x0e26('0x1e')]),_0x1af307);}});ami['on'](_0x0e26('0x1f'),function(_0x56e284){try{utils[_0x0e26('0x19')](util['format'](_0x0e26('0x20'),_0x56e284['uniqueid']),_0x56e284);agents[_0x0e26('0x1f')](_0x56e284);}catch(_0x27f2b2){utils[_0x0e26('0x15')](util[_0x0e26('0x1a')](_0x0e26('0x20'),_0x56e284[_0x0e26('0x1e')]),_0x27f2b2);}});ami['on'](_0x0e26('0x21'),function(_0x1b3cd8){try{utils[_0x0e26('0x19')](util[_0x0e26('0x1a')](_0x0e26('0x22'),_0x1b3cd8[_0x0e26('0x1e')]),_0x1b3cd8);agents['agentconnect'](_0x1b3cd8);queues['agentconnect'](_0x1b3cd8);}catch(_0x1c7d69){utils['error'](util['format'](_0x0e26('0x22'),_0x1b3cd8[_0x0e26('0x1e')]),_0x1c7d69);}});ami['on'](_0x0e26('0x23'),function(_0x40f464){try{utils['debug'](util['format']('[%s][index][agentcomplete]',_0x40f464[_0x0e26('0x1e')]),_0x40f464);agents[_0x0e26('0x23')](_0x40f464);queues[_0x0e26('0x23')](_0x40f464);members[_0x0e26('0x23')](_0x40f464);}catch(_0x9549be){utils[_0x0e26('0x15')](util['format'](_0x0e26('0x24'),_0x40f464[_0x0e26('0x1e')]),_0x9549be);}});ami['on'](_0x0e26('0x25'),function(_0x374e9e){try{utils['debug'](util[_0x0e26('0x1a')](_0x0e26('0x26'),_0x374e9e[_0x0e26('0x1e')]),_0x374e9e);agents[_0x0e26('0x25')](_0x374e9e);queues['queuecallerabandon'](_0x374e9e);}catch(_0x5232b2){utils[_0x0e26('0x15')](util[_0x0e26('0x1a')]('[%s][index][queuecallerabandon]',_0x374e9e['uniqueid']),_0x5232b2);}});ami['on']('queuecallerjoin',function(_0x18853e){try{utils['debug'](util[_0x0e26('0x1a')]('[%s][index][queuecallerjoin]',_0x18853e['uniqueid']),_0x18853e);queues[_0x0e26('0x27')](_0x18853e);recordings[_0x0e26('0x27')](_0x18853e);}catch(_0x3e590d){utils[_0x0e26('0x15')](util[_0x0e26('0x1a')](_0x0e26('0x28'),_0x18853e[_0x0e26('0x1e')]),_0x3e590d);}});ami['on']('queuecallerleave',function(_0x6b9e3d){try{utils[_0x0e26('0x19')](util[_0x0e26('0x1a')](_0x0e26('0x29'),_0x6b9e3d[_0x0e26('0x1e')]),_0x6b9e3d);queues[_0x0e26('0x2a')](_0x6b9e3d);}catch(_0x840e0b){utils[_0x0e26('0x15')](util['format']('[%s][index][queuecallerleave]',_0x6b9e3d[_0x0e26('0x1e')]),_0x840e0b);}});ami['on'](_0x0e26('0x2b'),function(_0x4231ac){try{utils['debug'](util['format'](_0x0e26('0x2c'),_0x4231ac[_0x0e26('0x1e')]),_0x4231ac);queues[_0x0e26('0x2b')](_0x4231ac);calls[_0x0e26('0x2b')](_0x4231ac);}catch(_0x5ea972){utils[_0x0e26('0x15')](util[_0x0e26('0x1a')]('[%s][index][musiconholdstart]',_0x4231ac[_0x0e26('0x1e')]),_0x5ea972);}});ami['on'](_0x0e26('0x2d'),function(_0xeb8c29){try{utils[_0x0e26('0x19')](util['format'](_0x0e26('0x2e'),_0xeb8c29['uniqueid']),_0xeb8c29);queues[_0x0e26('0x2d')](_0xeb8c29);calls[_0x0e26('0x2d')](_0xeb8c29);}catch(_0x4cba42){utils[_0x0e26('0x15')](util['format']('[%s][index][musiconholdstop]',_0xeb8c29[_0x0e26('0x1e')]),_0x4cba42);}});ami['on'](_0x0e26('0x2f'),function(_0x1735f6){try{utils[_0x0e26('0x19')](util[_0x0e26('0x1a')](_0x0e26('0x30'),_0x1735f6[_0x0e26('0x1e')]),_0x1735f6);calls['newstate'](_0x1735f6);recordings[_0x0e26('0x2f')](_0x1735f6);}catch(_0x46fdfa){utils[_0x0e26('0x15')](util[_0x0e26('0x1a')](_0x0e26('0x30'),_0x1735f6['uniqueid']),_0x46fdfa);}});ami['on']('hangup',function(_0x570ac4){try{utils[_0x0e26('0x19')](util[_0x0e26('0x1a')](_0x0e26('0x31'),_0x570ac4[_0x0e26('0x1e')]),_0x570ac4);calls[_0x0e26('0x32')](_0x570ac4);recordings[_0x0e26('0x32')](_0x570ac4);dials['hangup'](_0x570ac4);agents[_0x0e26('0x32')](_0x570ac4);queues[_0x0e26('0x32')](_0x570ac4);}catch(_0x251545){utils[_0x0e26('0x15')](util[_0x0e26('0x1a')](_0x0e26('0x31'),_0x570ac4[_0x0e26('0x1e')]),_0x251545);}});ami['on'](_0x0e26('0x33'),function(_0x3c6e35){try{utils[_0x0e26('0x19')](util['format']('[%s][index][cdr]',_0x3c6e35[_0x0e26('0x1e')]),_0x3c6e35);members['cdr'](_0x3c6e35);}catch(_0x2bf0a6){utils[_0x0e26('0x15')](util['format'](_0x0e26('0x34'),_0x3c6e35['uniqueid']),_0x2bf0a6);}});ami['on'](_0x0e26('0x35'),function(_0x4153ef){try{utils['debug'](util[_0x0e26('0x1a')]('[%s][index][blindtransfer]',_0x4153ef[_0x0e26('0x1e')]),_0x4153ef);queues[_0x0e26('0x35')](_0x4153ef);agents[_0x0e26('0x35')](_0x4153ef);transfers['blindtransfer'](_0x4153ef);recordings[_0x0e26('0x35')](_0x4153ef);}catch(_0x2f8b89){utils['error'](util[_0x0e26('0x1a')]('[%s][index][blindtransfer]',_0x4153ef[_0x0e26('0x1e')]),_0x2f8b89);}});ami['on']('attendedtransfer',function(_0x347163){try{utils[_0x0e26('0x19')](util['format'](_0x0e26('0x36'),_0x347163['origtransfereruniqueid']),_0x347163);queues['attendedtransfer'](_0x347163);transfers[_0x0e26('0x37')](_0x347163);agents[_0x0e26('0x37')](_0x347163);calls[_0x0e26('0x37')](_0x347163);}catch(_0x31dc1e){utils[_0x0e26('0x15')](util['format']('[%s][index][attendedtransfer]',_0x347163[_0x0e26('0x38')]),_0x31dc1e);}});ami['on'](_0x0e26('0x39'),function(_0x4e6074){try{utils['debug'](util[_0x0e26('0x1a')](_0x0e26('0x3a'),_0x4e6074[_0x0e26('0x1e')]),_0x4e6074);queues[_0x0e26('0x39')](_0x4e6074);recordings[_0x0e26('0x39')](_0x4e6074);calls[_0x0e26('0x39')](_0x4e6074);dials['varset'](_0x4e6074);}catch(_0x26c2fc){utils['error'](util[_0x0e26('0x1a')](_0x0e26('0x3a'),_0x4e6074[_0x0e26('0x1e')]),_0x26c2fc);}});ami['on']('newexten',function(_0x245dde){try{utils['debug'](util[_0x0e26('0x1a')](_0x0e26('0x3b'),_0x245dde[_0x0e26('0x1e')]),_0x245dde);calls[_0x0e26('0x3c')](_0x245dde);recordings[_0x0e26('0x3c')](_0x245dde);dials[_0x0e26('0x3c')](_0x245dde);}catch(_0x38ed50){utils[_0x0e26('0x15')](util[_0x0e26('0x1a')](_0x0e26('0x3b'),_0x245dde[_0x0e26('0x1e')]),_0x38ed50);}});ami['on'](_0x0e26('0x3d'),function(_0x2f8e24){try{utils['debug'](util[_0x0e26('0x1a')](_0x0e26('0x3e'),_0x2f8e24[_0x0e26('0x1e')]),_0x2f8e24);calls[_0x0e26('0x3d')](_0x2f8e24);recordings[_0x0e26('0x3d')](_0x2f8e24);}catch(_0x813409){utils['error'](util['format'](_0x0e26('0x3e'),_0x2f8e24[_0x0e26('0x1e')]),_0x813409);}});ami['on']('dialbegin',function(_0x36af57){try{utils[_0x0e26('0x19')](util[_0x0e26('0x1a')](_0x0e26('0x3f'),_0x36af57[_0x0e26('0x1e')]),_0x36af57);dials[_0x0e26('0x40')](_0x36af57);}catch(_0x407ab4){utils[_0x0e26('0x15')](util[_0x0e26('0x1a')](_0x0e26('0x41'),_0x36af57[_0x0e26('0x1e')]),_0x407ab4);}});ami['on'](_0x0e26('0x42'),function(_0x20a0bf){try{utils[_0x0e26('0x19')](util[_0x0e26('0x1a')](_0x0e26('0x43'),_0x20a0bf[_0x0e26('0x1e')]),_0x20a0bf);dials[_0x0e26('0x42')](_0x20a0bf);}catch(_0x44880a){utils[_0x0e26('0x15')](util['format']('[%s][index][dialend]',_0x20a0bf[_0x0e26('0x1e')]),_0x44880a);}});}