a19858a081ef2cdbcb881b7008ec4769db1b7ac7
[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 _0x2a84=['[%s][index][agentringnoanswer]','agentringnoanswer','agentconnect','[%s][index][agentconnect]','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','[%s][index][queuecallerabandon]','queuecallerjoin','[%s][index][queuecallerjoin]','queuecallerleave','[%s][index][queuecallerleave]','musiconholdstart','[%s][index][musiconholdstart]','[%s][index][musiconholdstop]','musiconholdstop','[%s][index][newstate]','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','dialend','[%s][index][dialend]','../../config/environment','./utils','xdr','disabled','env','production','local','asterisk','port','username','keepConnected','info','XDR\x20DISABLED','Asterisk\x20disabled\x20on\x20localhost','./agents.controller','./calls.controller','./queues.controller','./recordings.controller','./dials.controller','./transfers.controller','./core.controller','connect','shutdown','fullybooted','error','close','managerevent','devicestatechange','format','[%s][index][devicestatechange]','device','debug','[%s][index][agentcalled]','uniqueid'];(function(_0x1e2e90,_0x151c54){var _0xcbd034=function(_0x332703){while(--_0x332703){_0x1e2e90['push'](_0x1e2e90['shift']());}};_0xcbd034(++_0x151c54);}(_0x2a84,0xfa));var _0x42a8=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0x2a84[_0x14add3];return _0x4a174f;};var AsteriskManager=require('asterisk-manager');var config=require(_0x42a8('0x0'));var utils=require(_0x42a8('0x1'));var util=require('util');var isXDREnabled=config[_0x42a8('0x2')]&&config[_0x42a8('0x2')][_0x42a8('0x3')]?!config[_0x42a8('0x2')][_0x42a8('0x3')]:!![];var isProduction=config[_0x42a8('0x4')]===_0x42a8('0x5')||![];var isLocalAsterisk=config[_0x42a8('0x2')]&&config['xdr'][_0x42a8('0x6')]===!![]||![];var ami=new AsteriskManager(config[_0x42a8('0x7')][_0x42a8('0x8')],config[_0x42a8('0x7')]['ip'],config[_0x42a8('0x7')][_0x42a8('0x9')],config[_0x42a8('0x7')]['password'],!![]);ami[_0x42a8('0xa')]();if(!isXDREnabled){utils[_0x42a8('0xb')](_0x42a8('0xc'));}else if(!isProduction&&!isLocalAsterisk){utils[_0x42a8('0xb')](_0x42a8('0xd'));}else{var agents=require(_0x42a8('0xe'));var calls=require(_0x42a8('0xf'));var queues=require(_0x42a8('0x10'));var recordings=require(_0x42a8('0x11'));var members=require('./members.controller');var dials=require(_0x42a8('0x12'));var transfers=require(_0x42a8('0x13'));var core=require(_0x42a8('0x14'));ami['on'](_0x42a8('0x15'),core[_0x42a8('0x15')]);ami['on'](_0x42a8('0x16'),core[_0x42a8('0x16')]);ami['on'](_0x42a8('0x17'),core[_0x42a8('0x17')]);ami['on'](_0x42a8('0x18'),core[_0x42a8('0x18')]);ami['on'](_0x42a8('0x19'),core[_0x42a8('0x19')]);ami['on']('managerevent',core[_0x42a8('0x1a')]);ami['on'](_0x42a8('0x1b'),function(_0x3ec222){try{utils['debug'](util[_0x42a8('0x1c')](_0x42a8('0x1d'),_0x3ec222[_0x42a8('0x1e')]),_0x3ec222);members['devicestatechange'](_0x3ec222);}catch(_0x593449){utils[_0x42a8('0x18')](util['format'](_0x42a8('0x1d'),_0x3ec222[_0x42a8('0x1e')]),_0x593449);}});ami['on']('agentcalled',function(_0x1e1989){try{utils[_0x42a8('0x1f')](util[_0x42a8('0x1c')](_0x42a8('0x20'),_0x1e1989[_0x42a8('0x21')]),_0x1e1989);agents['agentcalled'](_0x1e1989);}catch(_0x11faeb){utils[_0x42a8('0x18')](util[_0x42a8('0x1c')](_0x42a8('0x20'),_0x1e1989[_0x42a8('0x21')]),_0x11faeb);}});ami['on']('agentringnoanswer',function(_0x2a58f9){try{utils[_0x42a8('0x1f')](util[_0x42a8('0x1c')](_0x42a8('0x22'),_0x2a58f9['uniqueid']),_0x2a58f9);agents[_0x42a8('0x23')](_0x2a58f9);}catch(_0x88b0fe){utils[_0x42a8('0x18')](util[_0x42a8('0x1c')](_0x42a8('0x22'),_0x2a58f9['uniqueid']),_0x88b0fe);}});ami['on'](_0x42a8('0x24'),function(_0x87bfef){try{utils[_0x42a8('0x1f')](util['format']('[%s][index][agentconnect]',_0x87bfef[_0x42a8('0x21')]),_0x87bfef);agents[_0x42a8('0x24')](_0x87bfef);queues[_0x42a8('0x24')](_0x87bfef);}catch(_0x65db8c){utils['error'](util[_0x42a8('0x1c')](_0x42a8('0x25'),_0x87bfef[_0x42a8('0x21')]),_0x65db8c);}});ami['on'](_0x42a8('0x26'),function(_0x490c5e){try{utils[_0x42a8('0x1f')](util['format']('[%s][index][agentcomplete]',_0x490c5e[_0x42a8('0x21')]),_0x490c5e);agents['agentcomplete'](_0x490c5e);queues[_0x42a8('0x26')](_0x490c5e);members['agentcomplete'](_0x490c5e);}catch(_0x3d1a12){utils[_0x42a8('0x18')](util[_0x42a8('0x1c')](_0x42a8('0x27'),_0x490c5e[_0x42a8('0x21')]),_0x3d1a12);}});ami['on'](_0x42a8('0x28'),function(_0x551153){try{utils['debug'](util[_0x42a8('0x1c')]('[%s][index][queuecallerabandon]',_0x551153['uniqueid']),_0x551153);agents['queuecallerabandon'](_0x551153);queues[_0x42a8('0x28')](_0x551153);}catch(_0x4d04c8){utils[_0x42a8('0x18')](util[_0x42a8('0x1c')](_0x42a8('0x29'),_0x551153[_0x42a8('0x21')]),_0x4d04c8);}});ami['on'](_0x42a8('0x2a'),function(_0x2b6e7b){try{utils[_0x42a8('0x1f')](util[_0x42a8('0x1c')](_0x42a8('0x2b'),_0x2b6e7b[_0x42a8('0x21')]),_0x2b6e7b);queues[_0x42a8('0x2a')](_0x2b6e7b);recordings['queuecallerjoin'](_0x2b6e7b);}catch(_0x516899){utils['error'](util['format'](_0x42a8('0x2b'),_0x2b6e7b[_0x42a8('0x21')]),_0x516899);}});ami['on'](_0x42a8('0x2c'),function(_0x336b7b){try{utils['debug'](util['format'](_0x42a8('0x2d'),_0x336b7b[_0x42a8('0x21')]),_0x336b7b);queues[_0x42a8('0x2c')](_0x336b7b);}catch(_0x2a828f){utils[_0x42a8('0x18')](util['format'](_0x42a8('0x2d'),_0x336b7b[_0x42a8('0x21')]),_0x2a828f);}});ami['on'](_0x42a8('0x2e'),function(_0x5f214a){try{utils['debug'](util[_0x42a8('0x1c')](_0x42a8('0x2f'),_0x5f214a[_0x42a8('0x21')]),_0x5f214a);queues[_0x42a8('0x2e')](_0x5f214a);calls[_0x42a8('0x2e')](_0x5f214a);}catch(_0x1e7ffc){utils[_0x42a8('0x18')](util[_0x42a8('0x1c')](_0x42a8('0x2f'),_0x5f214a[_0x42a8('0x21')]),_0x1e7ffc);}});ami['on']('musiconholdstop',function(_0x1cdae6){try{utils[_0x42a8('0x1f')](util[_0x42a8('0x1c')](_0x42a8('0x30'),_0x1cdae6[_0x42a8('0x21')]),_0x1cdae6);queues[_0x42a8('0x31')](_0x1cdae6);calls[_0x42a8('0x31')](_0x1cdae6);}catch(_0xadad7f){utils['error'](util[_0x42a8('0x1c')](_0x42a8('0x30'),_0x1cdae6[_0x42a8('0x21')]),_0xadad7f);}});ami['on']('newstate',function(_0x2c0336){try{utils[_0x42a8('0x1f')](util[_0x42a8('0x1c')](_0x42a8('0x32'),_0x2c0336[_0x42a8('0x21')]),_0x2c0336);calls[_0x42a8('0x33')](_0x2c0336);recordings[_0x42a8('0x33')](_0x2c0336);}catch(_0x50b5d4){utils[_0x42a8('0x18')](util['format'](_0x42a8('0x32'),_0x2c0336[_0x42a8('0x21')]),_0x50b5d4);}});ami['on'](_0x42a8('0x34'),function(_0x55a102){try{utils[_0x42a8('0x1f')](util['format'](_0x42a8('0x35'),_0x55a102[_0x42a8('0x21')]),_0x55a102);calls[_0x42a8('0x34')](_0x55a102);recordings[_0x42a8('0x34')](_0x55a102);dials[_0x42a8('0x34')](_0x55a102);agents[_0x42a8('0x34')](_0x55a102);queues['hangup'](_0x55a102);}catch(_0x47f0f4){utils[_0x42a8('0x18')](util[_0x42a8('0x1c')](_0x42a8('0x35'),_0x55a102[_0x42a8('0x21')]),_0x47f0f4);}});ami['on'](_0x42a8('0x36'),function(_0x3d2c45){try{utils[_0x42a8('0x1f')](util[_0x42a8('0x1c')]('[%s][index][cdr]',_0x3d2c45[_0x42a8('0x21')]),_0x3d2c45);members[_0x42a8('0x36')](_0x3d2c45);}catch(_0x3ada63){utils['error'](util[_0x42a8('0x1c')](_0x42a8('0x37'),_0x3d2c45[_0x42a8('0x21')]),_0x3ada63);}});ami['on'](_0x42a8('0x38'),function(_0x24c465){try{utils[_0x42a8('0x1f')](util[_0x42a8('0x1c')](_0x42a8('0x39'),_0x24c465[_0x42a8('0x21')]),_0x24c465);queues['blindtransfer'](_0x24c465);agents[_0x42a8('0x38')](_0x24c465);transfers[_0x42a8('0x38')](_0x24c465);recordings['blindtransfer'](_0x24c465);}catch(_0x3e61e8){utils[_0x42a8('0x18')](util['format'](_0x42a8('0x39'),_0x24c465[_0x42a8('0x21')]),_0x3e61e8);}});ami['on'](_0x42a8('0x3a'),function(_0x22af30){try{utils['debug'](util[_0x42a8('0x1c')](_0x42a8('0x3b'),_0x22af30[_0x42a8('0x3c')]),_0x22af30);queues[_0x42a8('0x3a')](_0x22af30);transfers[_0x42a8('0x3a')](_0x22af30);agents[_0x42a8('0x3a')](_0x22af30);calls[_0x42a8('0x3a')](_0x22af30);}catch(_0x7e3095){utils[_0x42a8('0x18')](util[_0x42a8('0x1c')](_0x42a8('0x3b'),_0x22af30[_0x42a8('0x3c')]),_0x7e3095);}});ami['on'](_0x42a8('0x3d'),function(_0x39e9c7){try{utils[_0x42a8('0x1f')](util[_0x42a8('0x1c')](_0x42a8('0x3e'),_0x39e9c7['uniqueid']),_0x39e9c7);queues[_0x42a8('0x3d')](_0x39e9c7);recordings[_0x42a8('0x3d')](_0x39e9c7);calls['varset'](_0x39e9c7);dials[_0x42a8('0x3d')](_0x39e9c7);}catch(_0x5ec04b){utils[_0x42a8('0x18')](util['format'](_0x42a8('0x3e'),_0x39e9c7[_0x42a8('0x21')]),_0x5ec04b);}});ami['on'](_0x42a8('0x3f'),function(_0xf0bfe9){try{utils[_0x42a8('0x1f')](util[_0x42a8('0x1c')](_0x42a8('0x40'),_0xf0bfe9[_0x42a8('0x21')]),_0xf0bfe9);calls[_0x42a8('0x3f')](_0xf0bfe9);recordings[_0x42a8('0x3f')](_0xf0bfe9);dials[_0x42a8('0x3f')](_0xf0bfe9);}catch(_0x5bc37c){utils[_0x42a8('0x18')](util[_0x42a8('0x1c')](_0x42a8('0x40'),_0xf0bfe9[_0x42a8('0x21')]),_0x5bc37c);}});ami['on'](_0x42a8('0x41'),function(_0x39bd59){try{utils[_0x42a8('0x1f')](util[_0x42a8('0x1c')](_0x42a8('0x42'),_0x39bd59[_0x42a8('0x21')]),_0x39bd59);calls[_0x42a8('0x41')](_0x39bd59);recordings[_0x42a8('0x41')](_0x39bd59);}catch(_0x24c369){utils[_0x42a8('0x18')](util['format'](_0x42a8('0x42'),_0x39bd59[_0x42a8('0x21')]),_0x24c369);}});ami['on']('dialbegin',function(_0x30b252){try{utils[_0x42a8('0x1f')](util[_0x42a8('0x1c')](_0x42a8('0x43'),_0x30b252['uniqueid']),_0x30b252);dials[_0x42a8('0x44')](_0x30b252);}catch(_0x1a8d59){utils[_0x42a8('0x18')](util[_0x42a8('0x1c')]('[%s]dialbegin',_0x30b252[_0x42a8('0x21')]),_0x1a8d59);}});ami['on']('dialend',function(_0x4dea5a){try{utils[_0x42a8('0x1f')](util[_0x42a8('0x1c')]('[%s][index][dialend]',_0x4dea5a[_0x42a8('0x21')]),_0x4dea5a);dials[_0x42a8('0x45')](_0x4dea5a);}catch(_0x879e9f){utils[_0x42a8('0x18')](util[_0x42a8('0x1c')](_0x42a8('0x46'),_0x4dea5a[_0x42a8('0x21')]),_0x879e9f);}});}