d5fd102cfa6d68675bfac5d6c530524dbf12333f
[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 _0x0261=['[%s][index][hangup]','[%s][index][cdr]','blindtransfer','[%s][index][blindtransfer]','[%s][index][attendedtransfer]','origtransfereruniqueid','attendedtransfer','varset','[%s][index][varset]','newexten','[%s][index][newexten]','newchannel','[%s][index][newchannel]','[%s][index][dialbegin]','dialbegin','[%s]dialbegin','[%s][index][dialend]','dialend','../../config/environment','util','disabled','xdr','env','production','local','asterisk','username','password','keepConnected','info','XDR\x20DISABLED','Asterisk\x20disabled\x20on\x20localhost','./agents.controller','./calls.controller','./queues.controller','./members.controller','./dials.controller','./transfers.controller','./core.controller','connect','shutdown','fullybooted','close','managerevent','devicestatechange','debug','format','device','[%s][index][devicestatechange]','[%s][index][agentcalled]','uniqueid','agentcalled','agentringnoanswer','[%s][index][agentringnoanswer]','agentconnect','[%s][index][agentconnect]','error','agentcomplete','[%s][index][agentcomplete]','[%s][index][queuecallerabandon]','queuecallerabandon','queuecallerjoin','[%s][index][queuecallerjoin]','[%s][index][queuecallerleave]','queuecallerleave','musiconholdstart','[%s][index][musiconholdstart]','musiconholdstop','[%s][index][musiconholdstop]','newstate','[%s][index][newstate]','hangup'];(function(_0x232cd7,_0x5b5985){var _0x51f9f9=function(_0x2c16ee){while(--_0x2c16ee){_0x232cd7['push'](_0x232cd7['shift']());}};_0x51f9f9(++_0x5b5985);}(_0x0261,0x17a));var _0x1026=function(_0x21549c,_0x6d64d1){_0x21549c=_0x21549c-0x0;var _0x426cbd=_0x0261[_0x21549c];return _0x426cbd;};var AsteriskManager=require('asterisk-manager');var config=require(_0x1026('0x0'));var utils=require('./utils');var util=require(_0x1026('0x1'));var isXDREnabled=config['xdr']&&config['xdr'][_0x1026('0x2')]?!config[_0x1026('0x3')][_0x1026('0x2')]:!![];var isProduction=config[_0x1026('0x4')]===_0x1026('0x5')||![];var isLocalAsterisk=config[_0x1026('0x3')]&&config[_0x1026('0x3')][_0x1026('0x6')]===!![]||![];var ami=new AsteriskManager(config[_0x1026('0x7')]['port'],config['asterisk']['ip'],config[_0x1026('0x7')][_0x1026('0x8')],config[_0x1026('0x7')][_0x1026('0x9')],!![]);ami[_0x1026('0xa')]();if(!isXDREnabled){utils[_0x1026('0xb')](_0x1026('0xc'));}else if(!isProduction&&!isLocalAsterisk){utils[_0x1026('0xb')](_0x1026('0xd'));}else{var agents=require(_0x1026('0xe'));var calls=require(_0x1026('0xf'));var queues=require(_0x1026('0x10'));var recordings=require('./recordings.controller');var members=require(_0x1026('0x11'));var dials=require(_0x1026('0x12'));var transfers=require(_0x1026('0x13'));var core=require(_0x1026('0x14'));ami['on'](_0x1026('0x15'),core[_0x1026('0x15')]);ami['on'](_0x1026('0x16'),core['shutdown']);ami['on'](_0x1026('0x17'),core['fullybooted']);ami['on']('error',core['error']);ami['on'](_0x1026('0x18'),core['close']);ami['on'](_0x1026('0x19'),core[_0x1026('0x19')]);ami['on'](_0x1026('0x1a'),function(_0x5e0d36){try{utils[_0x1026('0x1b')](util[_0x1026('0x1c')]('[%s][index][devicestatechange]',_0x5e0d36[_0x1026('0x1d')]),_0x5e0d36);members[_0x1026('0x1a')](_0x5e0d36);}catch(_0x4a2aa1){utils['error'](util[_0x1026('0x1c')](_0x1026('0x1e'),_0x5e0d36[_0x1026('0x1d')]),_0x4a2aa1);}});ami['on']('agentcalled',function(_0x427f6c){try{utils[_0x1026('0x1b')](util[_0x1026('0x1c')](_0x1026('0x1f'),_0x427f6c[_0x1026('0x20')]),_0x427f6c);agents[_0x1026('0x21')](_0x427f6c);}catch(_0x538c33){utils['error'](util['format'](_0x1026('0x1f'),_0x427f6c[_0x1026('0x20')]),_0x538c33);}});ami['on'](_0x1026('0x22'),function(_0xdadfcf){try{utils['debug'](util[_0x1026('0x1c')](_0x1026('0x23'),_0xdadfcf[_0x1026('0x20')]),_0xdadfcf);agents['agentringnoanswer'](_0xdadfcf);}catch(_0x217b55){utils['error'](util[_0x1026('0x1c')]('[%s][index][agentringnoanswer]',_0xdadfcf[_0x1026('0x20')]),_0x217b55);}});ami['on'](_0x1026('0x24'),function(_0x525cb7){try{utils['debug'](util['format'](_0x1026('0x25'),_0x525cb7[_0x1026('0x20')]),_0x525cb7);agents[_0x1026('0x24')](_0x525cb7);queues[_0x1026('0x24')](_0x525cb7);}catch(_0x379ace){utils[_0x1026('0x26')](util['format']('[%s][index][agentconnect]',_0x525cb7[_0x1026('0x20')]),_0x379ace);}});ami['on'](_0x1026('0x27'),function(_0x1fa8d3){try{utils['debug'](util[_0x1026('0x1c')]('[%s][index][agentcomplete]',_0x1fa8d3[_0x1026('0x20')]),_0x1fa8d3);agents[_0x1026('0x27')](_0x1fa8d3);queues['agentcomplete'](_0x1fa8d3);members[_0x1026('0x27')](_0x1fa8d3);}catch(_0x46d285){utils[_0x1026('0x26')](util['format'](_0x1026('0x28'),_0x1fa8d3[_0x1026('0x20')]),_0x46d285);}});ami['on']('queuecallerabandon',function(_0x276355){try{utils[_0x1026('0x1b')](util[_0x1026('0x1c')](_0x1026('0x29'),_0x276355[_0x1026('0x20')]),_0x276355);agents[_0x1026('0x2a')](_0x276355);queues['queuecallerabandon'](_0x276355);}catch(_0x461a73){utils[_0x1026('0x26')](util[_0x1026('0x1c')]('[%s][index][queuecallerabandon]',_0x276355[_0x1026('0x20')]),_0x461a73);}});ami['on'](_0x1026('0x2b'),function(_0x37931d){try{utils[_0x1026('0x1b')](util['format'](_0x1026('0x2c'),_0x37931d[_0x1026('0x20')]),_0x37931d);queues[_0x1026('0x2b')](_0x37931d);recordings[_0x1026('0x2b')](_0x37931d);}catch(_0x1ff30e){utils['error'](util[_0x1026('0x1c')](_0x1026('0x2c'),_0x37931d[_0x1026('0x20')]),_0x1ff30e);}});ami['on']('queuecallerleave',function(_0x21b9ea){try{utils['debug'](util['format'](_0x1026('0x2d'),_0x21b9ea[_0x1026('0x20')]),_0x21b9ea);queues[_0x1026('0x2e')](_0x21b9ea);}catch(_0x400711){utils[_0x1026('0x26')](util['format'](_0x1026('0x2d'),_0x21b9ea[_0x1026('0x20')]),_0x400711);}});ami['on'](_0x1026('0x2f'),function(_0x5675d9){try{utils[_0x1026('0x1b')](util[_0x1026('0x1c')](_0x1026('0x30'),_0x5675d9[_0x1026('0x20')]),_0x5675d9);queues['musiconholdstart'](_0x5675d9);calls[_0x1026('0x2f')](_0x5675d9);}catch(_0x4243c9){utils['error'](util[_0x1026('0x1c')](_0x1026('0x30'),_0x5675d9['uniqueid']),_0x4243c9);}});ami['on'](_0x1026('0x31'),function(_0x4f572f){try{utils['debug'](util['format'](_0x1026('0x32'),_0x4f572f[_0x1026('0x20')]),_0x4f572f);queues[_0x1026('0x31')](_0x4f572f);calls[_0x1026('0x31')](_0x4f572f);}catch(_0x13fa02){utils[_0x1026('0x26')](util[_0x1026('0x1c')](_0x1026('0x32'),_0x4f572f[_0x1026('0x20')]),_0x13fa02);}});ami['on'](_0x1026('0x33'),function(_0x106e17){try{utils[_0x1026('0x1b')](util[_0x1026('0x1c')](_0x1026('0x34'),_0x106e17['uniqueid']),_0x106e17);calls[_0x1026('0x33')](_0x106e17);recordings['newstate'](_0x106e17);}catch(_0x305205){utils[_0x1026('0x26')](util[_0x1026('0x1c')](_0x1026('0x34'),_0x106e17[_0x1026('0x20')]),_0x305205);}});ami['on'](_0x1026('0x35'),function(_0x8dafd){try{utils[_0x1026('0x1b')](util[_0x1026('0x1c')](_0x1026('0x36'),_0x8dafd[_0x1026('0x20')]),_0x8dafd);calls[_0x1026('0x35')](_0x8dafd);recordings[_0x1026('0x35')](_0x8dafd);dials[_0x1026('0x35')](_0x8dafd);agents[_0x1026('0x35')](_0x8dafd);queues[_0x1026('0x35')](_0x8dafd);}catch(_0x346a44){utils[_0x1026('0x26')](util[_0x1026('0x1c')]('[%s][index][hangup]',_0x8dafd[_0x1026('0x20')]),_0x346a44);}});ami['on']('cdr',function(_0x201985){try{utils[_0x1026('0x1b')](util[_0x1026('0x1c')](_0x1026('0x37'),_0x201985[_0x1026('0x20')]),_0x201985);members['cdr'](_0x201985);}catch(_0x52eeef){utils['error'](util[_0x1026('0x1c')]('[%s][index][cdr]',_0x201985[_0x1026('0x20')]),_0x52eeef);}});ami['on'](_0x1026('0x38'),function(_0x375bd3){try{utils['debug'](util[_0x1026('0x1c')]('[%s][index][blindtransfer]',_0x375bd3[_0x1026('0x20')]),_0x375bd3);queues[_0x1026('0x38')](_0x375bd3);agents[_0x1026('0x38')](_0x375bd3);transfers[_0x1026('0x38')](_0x375bd3);}catch(_0x4493b9){utils['error'](util[_0x1026('0x1c')](_0x1026('0x39'),_0x375bd3[_0x1026('0x20')]),_0x4493b9);}});ami['on']('attendedtransfer',function(_0x460ccf){try{utils['debug'](util[_0x1026('0x1c')](_0x1026('0x3a'),_0x460ccf[_0x1026('0x3b')]),_0x460ccf);queues[_0x1026('0x3c')](_0x460ccf);transfers['attendedtransfer'](_0x460ccf);agents[_0x1026('0x3c')](_0x460ccf);calls[_0x1026('0x3c')](_0x460ccf);}catch(_0x32b1c2){utils[_0x1026('0x26')](util[_0x1026('0x1c')](_0x1026('0x3a'),_0x460ccf[_0x1026('0x3b')]),_0x32b1c2);}});ami['on'](_0x1026('0x3d'),function(_0x28d5dc){try{utils['debug'](util['format'](_0x1026('0x3e'),_0x28d5dc[_0x1026('0x20')]),_0x28d5dc);queues[_0x1026('0x3d')](_0x28d5dc);recordings[_0x1026('0x3d')](_0x28d5dc);calls[_0x1026('0x3d')](_0x28d5dc);dials[_0x1026('0x3d')](_0x28d5dc);}catch(_0x1b3f39){utils[_0x1026('0x26')](util[_0x1026('0x1c')](_0x1026('0x3e'),_0x28d5dc[_0x1026('0x20')]),_0x1b3f39);}});ami['on'](_0x1026('0x3f'),function(_0x1f94be){try{utils['debug'](util[_0x1026('0x1c')](_0x1026('0x40'),_0x1f94be[_0x1026('0x20')]),_0x1f94be);calls['newexten'](_0x1f94be);recordings[_0x1026('0x3f')](_0x1f94be);dials[_0x1026('0x3f')](_0x1f94be);}catch(_0x2e5463){utils[_0x1026('0x26')](util[_0x1026('0x1c')]('[%s][index][newexten]',_0x1f94be[_0x1026('0x20')]),_0x2e5463);}});ami['on'](_0x1026('0x41'),function(_0x513f2d){try{utils[_0x1026('0x1b')](util[_0x1026('0x1c')](_0x1026('0x42'),_0x513f2d[_0x1026('0x20')]),_0x513f2d);calls[_0x1026('0x41')](_0x513f2d);recordings[_0x1026('0x41')](_0x513f2d);}catch(_0x126b04){utils[_0x1026('0x26')](util[_0x1026('0x1c')](_0x1026('0x42'),_0x513f2d[_0x1026('0x20')]),_0x126b04);}});ami['on']('dialbegin',function(_0x33cd5a){try{utils[_0x1026('0x1b')](util[_0x1026('0x1c')](_0x1026('0x43'),_0x33cd5a[_0x1026('0x20')]),_0x33cd5a);dials[_0x1026('0x44')](_0x33cd5a);}catch(_0x55982d){utils[_0x1026('0x26')](util[_0x1026('0x1c')](_0x1026('0x45'),_0x33cd5a[_0x1026('0x20')]),_0x55982d);}});ami['on']('dialend',function(_0x19cf7c){try{utils[_0x1026('0x1b')](util['format'](_0x1026('0x46'),_0x19cf7c[_0x1026('0x20')]),_0x19cf7c);dials[_0x1026('0x47')](_0x19cf7c);}catch(_0x1b369e){utils['error'](util['format'](_0x1026('0x46'),_0x19cf7c[_0x1026('0x20')]),_0x1b369e);}});}