a5e849373b993761b1733ceddaf858bef17481fa
[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 _0xb014=['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','[%s][index][attendedtransfer]','origtransfereruniqueid','varset','[%s][index][varset]','newexten','[%s][index][newexten]','newchannel','[%s][index][newchannel]','[%s][index][dialbegin]','dialbegin','[%s]dialbegin','[%s][index][dialend]','dialend','../../config/environment','./utils','asterisk','port','password','keepConnected','disabled','info','./calls.controller','./queues.controller','./recordings.controller','./members.controller','./dials.controller','./transfers.controller','./core.controller','connect','shutdown','fullybooted','error','close','managerevent','devicestatechange','debug','[%s][index][devicestatechange]','format','agentcalled','[%s][index][agentcalled]','uniqueid','agentringnoanswer','[%s][index][agentringnoanswer]','agentconnect','[%s][index][agentconnect]','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','[%s][index][queuecallerabandon]','[%s][index][queuecallerjoin]'];(function(_0x35c0ce,_0x1c9e1c){var _0x8d67b5=function(_0x58074e){while(--_0x58074e){_0x35c0ce['push'](_0x35c0ce['shift']());}};_0x8d67b5(++_0x1c9e1c);}(_0xb014,0x167));var _0x4b01=function(_0x2d4a07,_0x2e1f4d){_0x2d4a07=_0x2d4a07-0x0;var _0x43f637=_0xb014[_0x2d4a07];return _0x43f637;};var AsteriskManager=require('asterisk-manager');var config=require(_0x4b01('0x0'));var utils=require(_0x4b01('0x1'));var util=require('util');var ami=new AsteriskManager(config[_0x4b01('0x2')][_0x4b01('0x3')],config[_0x4b01('0x2')]['ip'],config[_0x4b01('0x2')]['username'],config[_0x4b01('0x2')][_0x4b01('0x4')],!![]);ami[_0x4b01('0x5')]();if(config['xdr']&&config['xdr'][_0x4b01('0x6')]){utils[_0x4b01('0x7')]('XDR\x20DISABLED');}else{var agents=require('./agents.controller');var calls=require(_0x4b01('0x8'));var queues=require(_0x4b01('0x9'));var recordings=require(_0x4b01('0xa'));var members=require(_0x4b01('0xb'));var dials=require(_0x4b01('0xc'));var transfers=require(_0x4b01('0xd'));var core=require(_0x4b01('0xe'));ami['on'](_0x4b01('0xf'),core['connect']);ami['on'](_0x4b01('0x10'),core[_0x4b01('0x10')]);ami['on'](_0x4b01('0x11'),core[_0x4b01('0x11')]);ami['on']('error',core[_0x4b01('0x12')]);ami['on']('close',core[_0x4b01('0x13')]);ami['on'](_0x4b01('0x14'),core[_0x4b01('0x14')]);ami['on'](_0x4b01('0x15'),function(_0x253e25){try{utils[_0x4b01('0x16')](util['format'](_0x4b01('0x17'),_0x253e25['device']),_0x253e25);members[_0x4b01('0x15')](_0x253e25);}catch(_0x4daf5c){utils[_0x4b01('0x12')](util[_0x4b01('0x18')](_0x4b01('0x17'),_0x253e25['device']),_0x4daf5c);}});ami['on'](_0x4b01('0x19'),function(_0x298ea4){try{utils['debug'](util[_0x4b01('0x18')](_0x4b01('0x1a'),_0x298ea4['uniqueid']),_0x298ea4);agents['agentcalled'](_0x298ea4);}catch(_0x4645ad){utils[_0x4b01('0x12')](util[_0x4b01('0x18')]('[%s][index][agentcalled]',_0x298ea4[_0x4b01('0x1b')]),_0x4645ad);}});ami['on'](_0x4b01('0x1c'),function(_0xe515da){try{utils['debug'](util[_0x4b01('0x18')]('[%s][index][agentringnoanswer]',_0xe515da[_0x4b01('0x1b')]),_0xe515da);agents[_0x4b01('0x1c')](_0xe515da);}catch(_0x47a9de){utils[_0x4b01('0x12')](util['format'](_0x4b01('0x1d'),_0xe515da[_0x4b01('0x1b')]),_0x47a9de);}});ami['on'](_0x4b01('0x1e'),function(_0x20d925){try{utils['debug'](util[_0x4b01('0x18')]('[%s][index][agentconnect]',_0x20d925[_0x4b01('0x1b')]),_0x20d925);agents['agentconnect'](_0x20d925);queues[_0x4b01('0x1e')](_0x20d925);}catch(_0x3188a1){utils[_0x4b01('0x12')](util[_0x4b01('0x18')](_0x4b01('0x1f'),_0x20d925[_0x4b01('0x1b')]),_0x3188a1);}});ami['on'](_0x4b01('0x20'),function(_0x42b1f5){try{utils[_0x4b01('0x16')](util[_0x4b01('0x18')]('[%s][index][agentcomplete]',_0x42b1f5[_0x4b01('0x1b')]),_0x42b1f5);agents[_0x4b01('0x20')](_0x42b1f5);queues['agentcomplete'](_0x42b1f5);members[_0x4b01('0x20')](_0x42b1f5);}catch(_0xe743fa){utils[_0x4b01('0x12')](util['format'](_0x4b01('0x21'),_0x42b1f5[_0x4b01('0x1b')]),_0xe743fa);}});ami['on'](_0x4b01('0x22'),function(_0x30343f){try{utils[_0x4b01('0x16')](util[_0x4b01('0x18')](_0x4b01('0x23'),_0x30343f[_0x4b01('0x1b')]),_0x30343f);agents[_0x4b01('0x22')](_0x30343f);queues[_0x4b01('0x22')](_0x30343f);}catch(_0x23a869){utils[_0x4b01('0x12')](util['format'](_0x4b01('0x23'),_0x30343f[_0x4b01('0x1b')]),_0x23a869);}});ami['on']('queuecallerjoin',function(_0xa26169){try{utils[_0x4b01('0x16')](util[_0x4b01('0x18')](_0x4b01('0x24'),_0xa26169[_0x4b01('0x1b')]),_0xa26169);queues[_0x4b01('0x25')](_0xa26169);recordings[_0x4b01('0x25')](_0xa26169);}catch(_0x3ccbf4){utils['error'](util[_0x4b01('0x18')]('[%s][index][queuecallerjoin]',_0xa26169[_0x4b01('0x1b')]),_0x3ccbf4);}});ami['on'](_0x4b01('0x26'),function(_0x1c853e){try{utils[_0x4b01('0x16')](util[_0x4b01('0x18')](_0x4b01('0x27'),_0x1c853e[_0x4b01('0x1b')]),_0x1c853e);queues[_0x4b01('0x26')](_0x1c853e);}catch(_0x5d18db){utils['error'](util[_0x4b01('0x18')]('[%s][index][queuecallerleave]',_0x1c853e[_0x4b01('0x1b')]),_0x5d18db);}});ami['on'](_0x4b01('0x28'),function(_0x305d21){try{utils[_0x4b01('0x16')](util[_0x4b01('0x18')]('[%s][index][musiconholdstart]',_0x305d21[_0x4b01('0x1b')]),_0x305d21);queues[_0x4b01('0x28')](_0x305d21);calls[_0x4b01('0x28')](_0x305d21);}catch(_0x349cb5){utils[_0x4b01('0x12')](util['format'](_0x4b01('0x29'),_0x305d21[_0x4b01('0x1b')]),_0x349cb5);}});ami['on'](_0x4b01('0x2a'),function(_0x365b6a){try{utils[_0x4b01('0x16')](util[_0x4b01('0x18')](_0x4b01('0x2b'),_0x365b6a['uniqueid']),_0x365b6a);queues[_0x4b01('0x2a')](_0x365b6a);calls[_0x4b01('0x2a')](_0x365b6a);}catch(_0x5f2d39){utils[_0x4b01('0x12')](util[_0x4b01('0x18')](_0x4b01('0x2b'),_0x365b6a[_0x4b01('0x1b')]),_0x5f2d39);}});ami['on'](_0x4b01('0x2c'),function(_0x3b45db){try{utils[_0x4b01('0x16')](util[_0x4b01('0x18')](_0x4b01('0x2d'),_0x3b45db['uniqueid']),_0x3b45db);calls[_0x4b01('0x2c')](_0x3b45db);recordings[_0x4b01('0x2c')](_0x3b45db);}catch(_0x3f0164){utils[_0x4b01('0x12')](util[_0x4b01('0x18')](_0x4b01('0x2d'),_0x3b45db[_0x4b01('0x1b')]),_0x3f0164);}});ami['on'](_0x4b01('0x2e'),function(_0x66ee26){try{utils['debug'](util[_0x4b01('0x18')](_0x4b01('0x2f'),_0x66ee26['uniqueid']),_0x66ee26);calls[_0x4b01('0x2e')](_0x66ee26);recordings['hangup'](_0x66ee26);dials['hangup'](_0x66ee26);agents[_0x4b01('0x2e')](_0x66ee26);queues[_0x4b01('0x2e')](_0x66ee26);}catch(_0x4e4f42){utils['error'](util['format'](_0x4b01('0x2f'),_0x66ee26[_0x4b01('0x1b')]),_0x4e4f42);}});ami['on'](_0x4b01('0x30'),function(_0x49c5c6){try{utils[_0x4b01('0x16')](util[_0x4b01('0x18')](_0x4b01('0x31'),_0x49c5c6[_0x4b01('0x1b')]),_0x49c5c6);members[_0x4b01('0x30')](_0x49c5c6);}catch(_0x5b9f4a){utils[_0x4b01('0x12')](util[_0x4b01('0x18')](_0x4b01('0x31'),_0x49c5c6[_0x4b01('0x1b')]),_0x5b9f4a);}});ami['on'](_0x4b01('0x32'),function(_0x4c40fa){try{utils[_0x4b01('0x16')](util['format'](_0x4b01('0x33'),_0x4c40fa[_0x4b01('0x1b')]),_0x4c40fa);queues[_0x4b01('0x32')](_0x4c40fa);agents[_0x4b01('0x32')](_0x4c40fa);transfers['blindtransfer'](_0x4c40fa);}catch(_0x44da70){utils[_0x4b01('0x12')](util[_0x4b01('0x18')]('[%s][index][blindtransfer]',_0x4c40fa[_0x4b01('0x1b')]),_0x44da70);}});ami['on'](_0x4b01('0x34'),function(_0x13b3f8){try{utils[_0x4b01('0x16')](util['format'](_0x4b01('0x35'),_0x13b3f8[_0x4b01('0x36')]),_0x13b3f8);queues['attendedtransfer'](_0x13b3f8);transfers[_0x4b01('0x34')](_0x13b3f8);agents['attendedtransfer'](_0x13b3f8);calls['attendedtransfer'](_0x13b3f8);}catch(_0x464d32){utils[_0x4b01('0x12')](util['format']('[%s][index][attendedtransfer]',_0x13b3f8[_0x4b01('0x36')]),_0x464d32);}});ami['on'](_0x4b01('0x37'),function(_0x36708f){try{utils[_0x4b01('0x16')](util[_0x4b01('0x18')](_0x4b01('0x38'),_0x36708f['uniqueid']),_0x36708f);queues['varset'](_0x36708f);recordings[_0x4b01('0x37')](_0x36708f);calls['varset'](_0x36708f);dials['varset'](_0x36708f);}catch(_0x40563e){utils[_0x4b01('0x12')](util[_0x4b01('0x18')](_0x4b01('0x38'),_0x36708f[_0x4b01('0x1b')]),_0x40563e);}});ami['on'](_0x4b01('0x39'),function(_0x3c9889){try{utils[_0x4b01('0x16')](util['format'](_0x4b01('0x3a'),_0x3c9889[_0x4b01('0x1b')]),_0x3c9889);calls[_0x4b01('0x39')](_0x3c9889);recordings[_0x4b01('0x39')](_0x3c9889);dials[_0x4b01('0x39')](_0x3c9889);}catch(_0x22c6b5){utils['error'](util['format'](_0x4b01('0x3a'),_0x3c9889[_0x4b01('0x1b')]),_0x22c6b5);}});ami['on'](_0x4b01('0x3b'),function(_0x10cf65){try{utils[_0x4b01('0x16')](util[_0x4b01('0x18')](_0x4b01('0x3c'),_0x10cf65[_0x4b01('0x1b')]),_0x10cf65);calls[_0x4b01('0x3b')](_0x10cf65);recordings[_0x4b01('0x3b')](_0x10cf65);}catch(_0x5c2d83){utils[_0x4b01('0x12')](util['format'](_0x4b01('0x3c'),_0x10cf65['uniqueid']),_0x5c2d83);}});ami['on']('dialbegin',function(_0x4b6c6b){try{utils[_0x4b01('0x16')](util[_0x4b01('0x18')](_0x4b01('0x3d'),_0x4b6c6b[_0x4b01('0x1b')]),_0x4b6c6b);dials[_0x4b01('0x3e')](_0x4b6c6b);}catch(_0x355a0d){utils['error'](util[_0x4b01('0x18')](_0x4b01('0x3f'),_0x4b6c6b[_0x4b01('0x1b')]),_0x355a0d);}});ami['on']('dialend',function(_0x1fb6c9){try{utils['debug'](util['format'](_0x4b01('0x40'),_0x1fb6c9[_0x4b01('0x1b')]),_0x1fb6c9);dials[_0x4b01('0x41')](_0x1fb6c9);}catch(_0x4cd167){utils[_0x4b01('0x12')](util[_0x4b01('0x18')](_0x4b01('0x40'),_0x1fb6c9[_0x4b01('0x1b')]),_0x4cd167);}});}