a5b00db0174ac19dbbb5f428ef191eaa04551958
[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 _0x4ee1=['shutdown','fullybooted','error','close','managerevent','devicestatechange','debug','format','[%s][index][devicestatechange]','device','agentcalled','[%s][index][agentcalled]','uniqueid','[%s][index][agentringnoanswer]','agentringnoanswer','agentconnect','[%s][index][agentconnect]','agentcomplete','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][blindtransfer]','attendedtransfer','[%s][index][attendedtransfer]','origtransfereruniqueid','varset','[%s][index][varset]','newexten','[%s][index][newexten]','newchannel','[%s][index][newchannel]','dialbegin','[%s]dialbegin','dialend','[%s][index][dialend]','asterisk-manager','../../config/environment','./utils','util','xdr','disabled','env','production','local','port','asterisk','username','keepConnected','info','XDR\x20DISABLED','Asterisk\x20disabled\x20on\x20localhost','./agents.controller','./calls.controller','./queues.controller','./members.controller','./dials.controller','./transfers.controller','./core.controller','connect'];(function(_0x836465,_0x5442ae){var _0x2150ea=function(_0x4f4bc2){while(--_0x4f4bc2){_0x836465['push'](_0x836465['shift']());}};_0x2150ea(++_0x5442ae);}(_0x4ee1,0x108));var _0x14ee=function(_0x484097,_0x7a9ba5){_0x484097=_0x484097-0x0;var _0x106b27=_0x4ee1[_0x484097];return _0x106b27;};var AsteriskManager=require(_0x14ee('0x0'));var config=require(_0x14ee('0x1'));var utils=require(_0x14ee('0x2'));var util=require(_0x14ee('0x3'));var isXDREnabled=config['xdr']&&config[_0x14ee('0x4')][_0x14ee('0x5')]?!config[_0x14ee('0x4')][_0x14ee('0x5')]:!![];var isProduction=config[_0x14ee('0x6')]===_0x14ee('0x7')||![];var isLocalAsterisk=config['xdr']&&config['xdr'][_0x14ee('0x8')]===!![]||![];var ami=new AsteriskManager(config['asterisk'][_0x14ee('0x9')],config[_0x14ee('0xa')]['ip'],config[_0x14ee('0xa')][_0x14ee('0xb')],config[_0x14ee('0xa')]['password'],!![]);ami[_0x14ee('0xc')]();if(!isXDREnabled){utils[_0x14ee('0xd')](_0x14ee('0xe'));}else if(!isProduction&&!isLocalAsterisk){utils[_0x14ee('0xd')](_0x14ee('0xf'));}else{var agents=require(_0x14ee('0x10'));var calls=require(_0x14ee('0x11'));var queues=require(_0x14ee('0x12'));var recordings=require('./recordings.controller');var members=require(_0x14ee('0x13'));var dials=require(_0x14ee('0x14'));var transfers=require(_0x14ee('0x15'));var core=require(_0x14ee('0x16'));ami['on']('connect',core[_0x14ee('0x17')]);ami['on'](_0x14ee('0x18'),core[_0x14ee('0x18')]);ami['on']('fullybooted',core[_0x14ee('0x19')]);ami['on'](_0x14ee('0x1a'),core[_0x14ee('0x1a')]);ami['on'](_0x14ee('0x1b'),core[_0x14ee('0x1b')]);ami['on'](_0x14ee('0x1c'),core['managerevent']);ami['on'](_0x14ee('0x1d'),function(_0x9f10ba){try{utils[_0x14ee('0x1e')](util[_0x14ee('0x1f')](_0x14ee('0x20'),_0x9f10ba[_0x14ee('0x21')]),_0x9f10ba);members[_0x14ee('0x1d')](_0x9f10ba);}catch(_0x1df49c){utils[_0x14ee('0x1a')](util[_0x14ee('0x1f')](_0x14ee('0x20'),_0x9f10ba[_0x14ee('0x21')]),_0x1df49c);}});ami['on'](_0x14ee('0x22'),function(_0x39b0ad){try{utils[_0x14ee('0x1e')](util['format'](_0x14ee('0x23'),_0x39b0ad[_0x14ee('0x24')]),_0x39b0ad);agents['agentcalled'](_0x39b0ad);}catch(_0x3a4ecf){utils['error'](util[_0x14ee('0x1f')](_0x14ee('0x23'),_0x39b0ad[_0x14ee('0x24')]),_0x3a4ecf);}});ami['on']('agentringnoanswer',function(_0x7cd3f4){try{utils[_0x14ee('0x1e')](util[_0x14ee('0x1f')](_0x14ee('0x25'),_0x7cd3f4[_0x14ee('0x24')]),_0x7cd3f4);agents[_0x14ee('0x26')](_0x7cd3f4);}catch(_0x4a86b5){utils[_0x14ee('0x1a')](util['format'](_0x14ee('0x25'),_0x7cd3f4['uniqueid']),_0x4a86b5);}});ami['on'](_0x14ee('0x27'),function(_0x193eba){try{utils[_0x14ee('0x1e')](util[_0x14ee('0x1f')](_0x14ee('0x28'),_0x193eba[_0x14ee('0x24')]),_0x193eba);agents[_0x14ee('0x27')](_0x193eba);queues[_0x14ee('0x27')](_0x193eba);}catch(_0x2113a4){utils['error'](util[_0x14ee('0x1f')](_0x14ee('0x28'),_0x193eba[_0x14ee('0x24')]),_0x2113a4);}});ami['on']('agentcomplete',function(_0x9e62e2){try{utils[_0x14ee('0x1e')](util['format']('[%s][index][agentcomplete]',_0x9e62e2['uniqueid']),_0x9e62e2);agents['agentcomplete'](_0x9e62e2);queues[_0x14ee('0x29')](_0x9e62e2);members[_0x14ee('0x29')](_0x9e62e2);}catch(_0x3dcdb5){utils[_0x14ee('0x1a')](util[_0x14ee('0x1f')]('[%s][index][agentcomplete]',_0x9e62e2[_0x14ee('0x24')]),_0x3dcdb5);}});ami['on'](_0x14ee('0x2a'),function(_0x38c453){try{utils[_0x14ee('0x1e')](util[_0x14ee('0x1f')]('[%s][index][queuecallerabandon]',_0x38c453[_0x14ee('0x24')]),_0x38c453);agents[_0x14ee('0x2a')](_0x38c453);queues[_0x14ee('0x2a')](_0x38c453);}catch(_0x3bca7a){utils[_0x14ee('0x1a')](util[_0x14ee('0x1f')]('[%s][index][queuecallerabandon]',_0x38c453[_0x14ee('0x24')]),_0x3bca7a);}});ami['on'](_0x14ee('0x2b'),function(_0x2157a4){try{utils[_0x14ee('0x1e')](util[_0x14ee('0x1f')](_0x14ee('0x2c'),_0x2157a4[_0x14ee('0x24')]),_0x2157a4);queues['queuecallerjoin'](_0x2157a4);recordings['queuecallerjoin'](_0x2157a4);}catch(_0x22e5a6){utils[_0x14ee('0x1a')](util['format'](_0x14ee('0x2c'),_0x2157a4['uniqueid']),_0x22e5a6);}});ami['on']('queuecallerleave',function(_0x5869bc){try{utils[_0x14ee('0x1e')](util['format'](_0x14ee('0x2d'),_0x5869bc[_0x14ee('0x24')]),_0x5869bc);queues[_0x14ee('0x2e')](_0x5869bc);}catch(_0x4d2e14){utils[_0x14ee('0x1a')](util[_0x14ee('0x1f')](_0x14ee('0x2d'),_0x5869bc[_0x14ee('0x24')]),_0x4d2e14);}});ami['on'](_0x14ee('0x2f'),function(_0x1fce12){try{utils[_0x14ee('0x1e')](util[_0x14ee('0x1f')](_0x14ee('0x30'),_0x1fce12[_0x14ee('0x24')]),_0x1fce12);queues['musiconholdstart'](_0x1fce12);calls[_0x14ee('0x2f')](_0x1fce12);}catch(_0x156e60){utils[_0x14ee('0x1a')](util['format'](_0x14ee('0x30'),_0x1fce12[_0x14ee('0x24')]),_0x156e60);}});ami['on'](_0x14ee('0x31'),function(_0x4956a0){try{utils[_0x14ee('0x1e')](util[_0x14ee('0x1f')]('[%s][index][musiconholdstop]',_0x4956a0[_0x14ee('0x24')]),_0x4956a0);queues[_0x14ee('0x31')](_0x4956a0);calls[_0x14ee('0x31')](_0x4956a0);}catch(_0xa459e2){utils['error'](util['format'](_0x14ee('0x32'),_0x4956a0[_0x14ee('0x24')]),_0xa459e2);}});ami['on'](_0x14ee('0x33'),function(_0x1db4cd){try{utils[_0x14ee('0x1e')](util['format']('[%s][index][newstate]',_0x1db4cd['uniqueid']),_0x1db4cd);calls[_0x14ee('0x33')](_0x1db4cd);recordings['newstate'](_0x1db4cd);}catch(_0x4f432f){utils['error'](util[_0x14ee('0x1f')](_0x14ee('0x34'),_0x1db4cd[_0x14ee('0x24')]),_0x4f432f);}});ami['on']('hangup',function(_0x28920d){try{utils['debug'](util[_0x14ee('0x1f')](_0x14ee('0x35'),_0x28920d[_0x14ee('0x24')]),_0x28920d);calls[_0x14ee('0x36')](_0x28920d);recordings['hangup'](_0x28920d);dials['hangup'](_0x28920d);agents['hangup'](_0x28920d);queues['hangup'](_0x28920d);}catch(_0x42a639){utils[_0x14ee('0x1a')](util[_0x14ee('0x1f')](_0x14ee('0x35'),_0x28920d[_0x14ee('0x24')]),_0x42a639);}});ami['on'](_0x14ee('0x37'),function(_0x55d815){try{utils[_0x14ee('0x1e')](util[_0x14ee('0x1f')](_0x14ee('0x38'),_0x55d815[_0x14ee('0x24')]),_0x55d815);members['cdr'](_0x55d815);}catch(_0x45e6b5){utils[_0x14ee('0x1a')](util[_0x14ee('0x1f')](_0x14ee('0x38'),_0x55d815[_0x14ee('0x24')]),_0x45e6b5);}});ami['on'](_0x14ee('0x39'),function(_0x146d9e){try{utils[_0x14ee('0x1e')](util['format'](_0x14ee('0x3a'),_0x146d9e[_0x14ee('0x24')]),_0x146d9e);queues['blindtransfer'](_0x146d9e);agents[_0x14ee('0x39')](_0x146d9e);transfers[_0x14ee('0x39')](_0x146d9e);}catch(_0x197d5f){utils[_0x14ee('0x1a')](util[_0x14ee('0x1f')](_0x14ee('0x3a'),_0x146d9e['uniqueid']),_0x197d5f);}});ami['on'](_0x14ee('0x3b'),function(_0x1ea408){try{utils['debug'](util[_0x14ee('0x1f')](_0x14ee('0x3c'),_0x1ea408[_0x14ee('0x3d')]),_0x1ea408);queues['attendedtransfer'](_0x1ea408);transfers[_0x14ee('0x3b')](_0x1ea408);agents[_0x14ee('0x3b')](_0x1ea408);calls[_0x14ee('0x3b')](_0x1ea408);}catch(_0x142b7a){utils[_0x14ee('0x1a')](util[_0x14ee('0x1f')](_0x14ee('0x3c'),_0x1ea408['origtransfereruniqueid']),_0x142b7a);}});ami['on'](_0x14ee('0x3e'),function(_0xf72747){try{utils[_0x14ee('0x1e')](util[_0x14ee('0x1f')]('[%s][index][varset]',_0xf72747[_0x14ee('0x24')]),_0xf72747);queues['varset'](_0xf72747);recordings[_0x14ee('0x3e')](_0xf72747);calls['varset'](_0xf72747);dials['varset'](_0xf72747);}catch(_0x13c9b7){utils[_0x14ee('0x1a')](util[_0x14ee('0x1f')](_0x14ee('0x3f'),_0xf72747['uniqueid']),_0x13c9b7);}});ami['on'](_0x14ee('0x40'),function(_0x11ac46){try{utils[_0x14ee('0x1e')](util['format']('[%s][index][newexten]',_0x11ac46['uniqueid']),_0x11ac46);calls['newexten'](_0x11ac46);recordings['newexten'](_0x11ac46);dials['newexten'](_0x11ac46);}catch(_0x26793c){utils[_0x14ee('0x1a')](util['format'](_0x14ee('0x41'),_0x11ac46[_0x14ee('0x24')]),_0x26793c);}});ami['on'](_0x14ee('0x42'),function(_0x5e73da){try{utils[_0x14ee('0x1e')](util[_0x14ee('0x1f')](_0x14ee('0x43'),_0x5e73da[_0x14ee('0x24')]),_0x5e73da);calls[_0x14ee('0x42')](_0x5e73da);recordings[_0x14ee('0x42')](_0x5e73da);}catch(_0x38a45f){utils['error'](util[_0x14ee('0x1f')](_0x14ee('0x43'),_0x5e73da[_0x14ee('0x24')]),_0x38a45f);}});ami['on']('dialbegin',function(_0xf9b33b){try{utils[_0x14ee('0x1e')](util[_0x14ee('0x1f')]('[%s][index][dialbegin]',_0xf9b33b[_0x14ee('0x24')]),_0xf9b33b);dials[_0x14ee('0x44')](_0xf9b33b);}catch(_0x118e66){utils[_0x14ee('0x1a')](util['format'](_0x14ee('0x45'),_0xf9b33b[_0x14ee('0x24')]),_0x118e66);}});ami['on'](_0x14ee('0x46'),function(_0x1090a0){try{utils['debug'](util[_0x14ee('0x1f')]('[%s][index][dialend]',_0x1090a0[_0x14ee('0x24')]),_0x1090a0);dials['dialend'](_0x1090a0);}catch(_0x174b19){utils[_0x14ee('0x1a')](util['format'](_0x14ee('0x47'),_0x1090a0[_0x14ee('0x24')]),_0x174b19);}});}