Built motion from commit 3c2ce842.|2.6.31
[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 _0xf79f=['[%s][index][newstate]','[%s][index][hangup]','hangup','[%s][index][cdr]','blindtransfer','attendedtransfer','[%s][index][attendedtransfer]','origtransfereruniqueid','varset','[%s][index][varset]','newexten','[%s][index][newexten]','newchannel','[%s][index][newchannel]','dialbegin','[%s][index][dialbegin]','[%s]dialbegin','dialend','[%s][index][dialend]','asterisk-manager','./utils','util','xdr','disabled','production','local','asterisk','port','username','password','keepConnected','info','XDR\x20DISABLED','./agents.controller','./calls.controller','./recordings.controller','./members.controller','./dials.controller','./transfers.controller','./core.controller','connect','shutdown','fullybooted','error','close','managerevent','debug','format','[%s][index][devicestatechange]','device','agentcalled','[%s][index][agentcalled]','uniqueid','agentringnoanswer','[%s][index][agentringnoanswer]','agentconnect','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','[%s][index][queuecallerabandon]','queuecallerjoin','queuecallerleave','[%s][index][queuecallerleave]','musiconholdstart','[%s][index][musiconholdstart]','[%s][index][musiconholdstop]','musiconholdstop','newstate'];(function(_0x1573ea,_0x434f02){var _0x51c0e2=function(_0x5c9b28){while(--_0x5c9b28){_0x1573ea['push'](_0x1573ea['shift']());}};_0x51c0e2(++_0x434f02);}(_0xf79f,0x9b));var _0xff79=function(_0x14286a,_0x54bf72){_0x14286a=_0x14286a-0x0;var _0x26d207=_0xf79f[_0x14286a];return _0x26d207;};var AsteriskManager=require(_0xff79('0x0'));var config=require('../../config/environment');var utils=require(_0xff79('0x1'));var util=require(_0xff79('0x2'));var isXDREnabled=config['xdr']&&config[_0xff79('0x3')][_0xff79('0x4')]?!config[_0xff79('0x3')][_0xff79('0x4')]:!![];var isProduction=config['env']===_0xff79('0x5')||![];var isLocalAsterisk=config[_0xff79('0x3')]&&config[_0xff79('0x3')][_0xff79('0x6')]===!![]||![];var ami=new AsteriskManager(config[_0xff79('0x7')][_0xff79('0x8')],config[_0xff79('0x7')]['ip'],config[_0xff79('0x7')][_0xff79('0x9')],config[_0xff79('0x7')][_0xff79('0xa')],!![]);ami[_0xff79('0xb')]();if(!isXDREnabled){utils[_0xff79('0xc')](_0xff79('0xd'));}else if(!isProduction&&!isLocalAsterisk){utils[_0xff79('0xc')]('Asterisk\x20disabled\x20on\x20localhost');}else{var agents=require(_0xff79('0xe'));var calls=require(_0xff79('0xf'));var queues=require('./queues.controller');var recordings=require(_0xff79('0x10'));var members=require(_0xff79('0x11'));var dials=require(_0xff79('0x12'));var transfers=require(_0xff79('0x13'));var core=require(_0xff79('0x14'));ami['on'](_0xff79('0x15'),core[_0xff79('0x15')]);ami['on']('shutdown',core[_0xff79('0x16')]);ami['on'](_0xff79('0x17'),core[_0xff79('0x17')]);ami['on']('error',core[_0xff79('0x18')]);ami['on'](_0xff79('0x19'),core[_0xff79('0x19')]);ami['on'](_0xff79('0x1a'),core['managerevent']);ami['on']('devicestatechange',function(_0x40b20b){try{utils[_0xff79('0x1b')](util[_0xff79('0x1c')](_0xff79('0x1d'),_0x40b20b[_0xff79('0x1e')]),_0x40b20b);members['devicestatechange'](_0x40b20b);}catch(_0x114cb0){utils[_0xff79('0x18')](util['format'](_0xff79('0x1d'),_0x40b20b[_0xff79('0x1e')]),_0x114cb0);}});ami['on'](_0xff79('0x1f'),function(_0x2f7d06){try{utils[_0xff79('0x1b')](util[_0xff79('0x1c')](_0xff79('0x20'),_0x2f7d06[_0xff79('0x21')]),_0x2f7d06);agents[_0xff79('0x1f')](_0x2f7d06);}catch(_0x514c13){utils[_0xff79('0x18')](util[_0xff79('0x1c')](_0xff79('0x20'),_0x2f7d06[_0xff79('0x21')]),_0x514c13);}});ami['on'](_0xff79('0x22'),function(_0x139a75){try{utils[_0xff79('0x1b')](util[_0xff79('0x1c')](_0xff79('0x23'),_0x139a75['uniqueid']),_0x139a75);agents['agentringnoanswer'](_0x139a75);}catch(_0x35d82f){utils['error'](util[_0xff79('0x1c')](_0xff79('0x23'),_0x139a75['uniqueid']),_0x35d82f);}});ami['on'](_0xff79('0x24'),function(_0x29eedf){try{utils[_0xff79('0x1b')](util[_0xff79('0x1c')]('[%s][index][agentconnect]',_0x29eedf['uniqueid']),_0x29eedf);agents[_0xff79('0x24')](_0x29eedf);queues['agentconnect'](_0x29eedf);}catch(_0x2a5503){utils[_0xff79('0x18')](util[_0xff79('0x1c')]('[%s][index][agentconnect]',_0x29eedf[_0xff79('0x21')]),_0x2a5503);}});ami['on'](_0xff79('0x25'),function(_0x9dab15){try{utils[_0xff79('0x1b')](util[_0xff79('0x1c')](_0xff79('0x26'),_0x9dab15[_0xff79('0x21')]),_0x9dab15);agents[_0xff79('0x25')](_0x9dab15);queues[_0xff79('0x25')](_0x9dab15);members[_0xff79('0x25')](_0x9dab15);}catch(_0x4ce80d){utils['error'](util[_0xff79('0x1c')](_0xff79('0x26'),_0x9dab15[_0xff79('0x21')]),_0x4ce80d);}});ami['on'](_0xff79('0x27'),function(_0x375d83){try{utils[_0xff79('0x1b')](util[_0xff79('0x1c')](_0xff79('0x28'),_0x375d83[_0xff79('0x21')]),_0x375d83);agents[_0xff79('0x27')](_0x375d83);queues[_0xff79('0x27')](_0x375d83);}catch(_0x22d4e7){utils['error'](util[_0xff79('0x1c')](_0xff79('0x28'),_0x375d83[_0xff79('0x21')]),_0x22d4e7);}});ami['on']('queuecallerjoin',function(_0x592686){try{utils[_0xff79('0x1b')](util[_0xff79('0x1c')]('[%s][index][queuecallerjoin]',_0x592686[_0xff79('0x21')]),_0x592686);queues['queuecallerjoin'](_0x592686);recordings[_0xff79('0x29')](_0x592686);}catch(_0x195f21){utils[_0xff79('0x18')](util['format']('[%s][index][queuecallerjoin]',_0x592686[_0xff79('0x21')]),_0x195f21);}});ami['on'](_0xff79('0x2a'),function(_0x578e07){try{utils[_0xff79('0x1b')](util['format'](_0xff79('0x2b'),_0x578e07[_0xff79('0x21')]),_0x578e07);queues['queuecallerleave'](_0x578e07);}catch(_0x310527){utils['error'](util[_0xff79('0x1c')](_0xff79('0x2b'),_0x578e07[_0xff79('0x21')]),_0x310527);}});ami['on'](_0xff79('0x2c'),function(_0xbc86a1){try{utils[_0xff79('0x1b')](util['format'](_0xff79('0x2d'),_0xbc86a1[_0xff79('0x21')]),_0xbc86a1);queues['musiconholdstart'](_0xbc86a1);calls[_0xff79('0x2c')](_0xbc86a1);}catch(_0x5200d9){utils[_0xff79('0x18')](util[_0xff79('0x1c')](_0xff79('0x2d'),_0xbc86a1[_0xff79('0x21')]),_0x5200d9);}});ami['on']('musiconholdstop',function(_0x3f0ac3){try{utils['debug'](util[_0xff79('0x1c')](_0xff79('0x2e'),_0x3f0ac3[_0xff79('0x21')]),_0x3f0ac3);queues[_0xff79('0x2f')](_0x3f0ac3);calls[_0xff79('0x2f')](_0x3f0ac3);}catch(_0xd5d477){utils['error'](util[_0xff79('0x1c')](_0xff79('0x2e'),_0x3f0ac3['uniqueid']),_0xd5d477);}});ami['on'](_0xff79('0x30'),function(_0x1b0e29){try{utils[_0xff79('0x1b')](util[_0xff79('0x1c')](_0xff79('0x31'),_0x1b0e29[_0xff79('0x21')]),_0x1b0e29);calls[_0xff79('0x30')](_0x1b0e29);recordings[_0xff79('0x30')](_0x1b0e29);}catch(_0xd8b4cf){utils[_0xff79('0x18')](util['format'](_0xff79('0x31'),_0x1b0e29[_0xff79('0x21')]),_0xd8b4cf);}});ami['on']('hangup',function(_0x14a445){try{utils['debug'](util['format'](_0xff79('0x32'),_0x14a445[_0xff79('0x21')]),_0x14a445);calls['hangup'](_0x14a445);recordings[_0xff79('0x33')](_0x14a445);dials[_0xff79('0x33')](_0x14a445);agents['hangup'](_0x14a445);queues[_0xff79('0x33')](_0x14a445);}catch(_0x1cd716){utils[_0xff79('0x18')](util[_0xff79('0x1c')](_0xff79('0x32'),_0x14a445[_0xff79('0x21')]),_0x1cd716);}});ami['on']('cdr',function(_0x263d44){try{utils[_0xff79('0x1b')](util[_0xff79('0x1c')](_0xff79('0x34'),_0x263d44[_0xff79('0x21')]),_0x263d44);members['cdr'](_0x263d44);}catch(_0x406853){utils[_0xff79('0x18')](util['format'](_0xff79('0x34'),_0x263d44['uniqueid']),_0x406853);}});ami['on'](_0xff79('0x35'),function(_0x16d6f9){try{utils[_0xff79('0x1b')](util['format']('[%s][index][blindtransfer]',_0x16d6f9[_0xff79('0x21')]),_0x16d6f9);queues[_0xff79('0x35')](_0x16d6f9);agents[_0xff79('0x35')](_0x16d6f9);transfers[_0xff79('0x35')](_0x16d6f9);}catch(_0x234352){utils[_0xff79('0x18')](util[_0xff79('0x1c')]('[%s][index][blindtransfer]',_0x16d6f9[_0xff79('0x21')]),_0x234352);}});ami['on'](_0xff79('0x36'),function(_0xdfe74){try{utils[_0xff79('0x1b')](util['format'](_0xff79('0x37'),_0xdfe74['origtransfereruniqueid']),_0xdfe74);queues[_0xff79('0x36')](_0xdfe74);transfers['attendedtransfer'](_0xdfe74);agents['attendedtransfer'](_0xdfe74);calls[_0xff79('0x36')](_0xdfe74);}catch(_0x2372fa){utils[_0xff79('0x18')](util[_0xff79('0x1c')](_0xff79('0x37'),_0xdfe74[_0xff79('0x38')]),_0x2372fa);}});ami['on'](_0xff79('0x39'),function(_0x37e99e){try{utils[_0xff79('0x1b')](util[_0xff79('0x1c')](_0xff79('0x3a'),_0x37e99e[_0xff79('0x21')]),_0x37e99e);queues[_0xff79('0x39')](_0x37e99e);recordings[_0xff79('0x39')](_0x37e99e);calls[_0xff79('0x39')](_0x37e99e);dials['varset'](_0x37e99e);}catch(_0x43a75f){utils['error'](util[_0xff79('0x1c')](_0xff79('0x3a'),_0x37e99e['uniqueid']),_0x43a75f);}});ami['on'](_0xff79('0x3b'),function(_0x35b850){try{utils[_0xff79('0x1b')](util[_0xff79('0x1c')](_0xff79('0x3c'),_0x35b850[_0xff79('0x21')]),_0x35b850);calls[_0xff79('0x3b')](_0x35b850);recordings[_0xff79('0x3b')](_0x35b850);dials[_0xff79('0x3b')](_0x35b850);}catch(_0x3c3a3e){utils['error'](util[_0xff79('0x1c')](_0xff79('0x3c'),_0x35b850[_0xff79('0x21')]),_0x3c3a3e);}});ami['on'](_0xff79('0x3d'),function(_0x388f8c){try{utils[_0xff79('0x1b')](util[_0xff79('0x1c')](_0xff79('0x3e'),_0x388f8c['uniqueid']),_0x388f8c);calls[_0xff79('0x3d')](_0x388f8c);recordings[_0xff79('0x3d')](_0x388f8c);}catch(_0x402a05){utils[_0xff79('0x18')](util[_0xff79('0x1c')](_0xff79('0x3e'),_0x388f8c['uniqueid']),_0x402a05);}});ami['on'](_0xff79('0x3f'),function(_0x1cb4e8){try{utils[_0xff79('0x1b')](util[_0xff79('0x1c')](_0xff79('0x40'),_0x1cb4e8[_0xff79('0x21')]),_0x1cb4e8);dials[_0xff79('0x3f')](_0x1cb4e8);}catch(_0xe16faf){utils[_0xff79('0x18')](util[_0xff79('0x1c')](_0xff79('0x41'),_0x1cb4e8['uniqueid']),_0xe16faf);}});ami['on'](_0xff79('0x42'),function(_0x9c35){try{utils[_0xff79('0x1b')](util[_0xff79('0x1c')]('[%s][index][dialend]',_0x9c35['uniqueid']),_0x9c35);dials[_0xff79('0x42')](_0x9c35);}catch(_0x52a3e2){utils[_0xff79('0x18')](util['format'](_0xff79('0x43'),_0x9c35['uniqueid']),_0x52a3e2);}});}