f009f4583e4312f0633e172b8d2517d5719ee568
[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 _0xc60a=['[%s]dialbegin','dialend','[%s][index][dialend]','asterisk-manager','xdr','disabled','production','local','asterisk','username','password','keepConnected','info','Asterisk\x20disabled\x20on\x20localhost','./calls.controller','./queues.controller','./members.controller','./dials.controller','./transfers.controller','connect','shutdown','fullybooted','error','close','managerevent','devicestatechange','debug','format','[%s][index][devicestatechange]','device','agentcalled','[%s][index][agentcalled]','uniqueid','agentringnoanswer','[%s][index][agentringnoanswer]','agentconnect','[%s][index][agentconnect]','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','[%s][index][hangup]','[%s][index][cdr]','blindtransfer','[%s][index][blindtransfer]','attendedtransfer','[%s][index][attendedtransfer]','origtransfereruniqueid','[%s][index][varset]','varset','newexten','[%s][index][newexten]','newchannel','[%s][index][newchannel]','dialbegin'];(function(_0x10335b,_0xc6f42){var _0x1d72e2=function(_0x2ed2f0){while(--_0x2ed2f0){_0x10335b['push'](_0x10335b['shift']());}};_0x1d72e2(++_0xc6f42);}(_0xc60a,0x1d1));var _0xac60=function(_0x315a3e,_0x1e6bf9){_0x315a3e=_0x315a3e-0x0;var _0x3cf4a3=_0xc60a[_0x315a3e];return _0x3cf4a3;};var AsteriskManager=require(_0xac60('0x0'));var config=require('../../config/environment');var utils=require('./utils');var util=require('util');var isXDREnabled=config[_0xac60('0x1')]&&config['xdr'][_0xac60('0x2')]?!config[_0xac60('0x1')]['disabled']:!![];var isProduction=config['env']===_0xac60('0x3')||![];var isLocalAsterisk=config[_0xac60('0x1')]&&config['xdr'][_0xac60('0x4')]===!![]||![];var ami=new AsteriskManager(config[_0xac60('0x5')]['port'],config['asterisk']['ip'],config['asterisk'][_0xac60('0x6')],config[_0xac60('0x5')][_0xac60('0x7')],!![]);ami[_0xac60('0x8')]();if(!isXDREnabled){utils[_0xac60('0x9')]('XDR\x20DISABLED');}else if(!isProduction&&!isLocalAsterisk){utils[_0xac60('0x9')](_0xac60('0xa'));}else{var agents=require('./agents.controller');var calls=require(_0xac60('0xb'));var queues=require(_0xac60('0xc'));var recordings=require('./recordings.controller');var members=require(_0xac60('0xd'));var dials=require(_0xac60('0xe'));var transfers=require(_0xac60('0xf'));var core=require('./core.controller');ami['on'](_0xac60('0x10'),core[_0xac60('0x10')]);ami['on']('shutdown',core[_0xac60('0x11')]);ami['on'](_0xac60('0x12'),core['fullybooted']);ami['on'](_0xac60('0x13'),core[_0xac60('0x13')]);ami['on']('close',core[_0xac60('0x14')]);ami['on'](_0xac60('0x15'),core['managerevent']);ami['on'](_0xac60('0x16'),function(_0x536404){try{utils[_0xac60('0x17')](util[_0xac60('0x18')](_0xac60('0x19'),_0x536404[_0xac60('0x1a')]),_0x536404);members['devicestatechange'](_0x536404);}catch(_0x5b24ed){utils[_0xac60('0x13')](util[_0xac60('0x18')]('[%s][index][devicestatechange]',_0x536404[_0xac60('0x1a')]),_0x5b24ed);}});ami['on'](_0xac60('0x1b'),function(_0x1ca749){try{utils['debug'](util[_0xac60('0x18')](_0xac60('0x1c'),_0x1ca749[_0xac60('0x1d')]),_0x1ca749);agents[_0xac60('0x1b')](_0x1ca749);}catch(_0x56023f){utils['error'](util[_0xac60('0x18')](_0xac60('0x1c'),_0x1ca749[_0xac60('0x1d')]),_0x56023f);}});ami['on'](_0xac60('0x1e'),function(_0x1fdd7d){try{utils[_0xac60('0x17')](util[_0xac60('0x18')]('[%s][index][agentringnoanswer]',_0x1fdd7d[_0xac60('0x1d')]),_0x1fdd7d);agents[_0xac60('0x1e')](_0x1fdd7d);}catch(_0x47d2a9){utils[_0xac60('0x13')](util[_0xac60('0x18')](_0xac60('0x1f'),_0x1fdd7d[_0xac60('0x1d')]),_0x47d2a9);}});ami['on'](_0xac60('0x20'),function(_0x34cf01){try{utils[_0xac60('0x17')](util[_0xac60('0x18')](_0xac60('0x21'),_0x34cf01[_0xac60('0x1d')]),_0x34cf01);agents[_0xac60('0x20')](_0x34cf01);queues[_0xac60('0x20')](_0x34cf01);}catch(_0x599c15){utils['error'](util[_0xac60('0x18')](_0xac60('0x21'),_0x34cf01[_0xac60('0x1d')]),_0x599c15);}});ami['on'](_0xac60('0x22'),function(_0x369fa8){try{utils[_0xac60('0x17')](util[_0xac60('0x18')](_0xac60('0x23'),_0x369fa8[_0xac60('0x1d')]),_0x369fa8);agents[_0xac60('0x22')](_0x369fa8);queues['agentcomplete'](_0x369fa8);members[_0xac60('0x22')](_0x369fa8);}catch(_0x1fd45a){utils[_0xac60('0x13')](util[_0xac60('0x18')](_0xac60('0x23'),_0x369fa8[_0xac60('0x1d')]),_0x1fd45a);}});ami['on']('queuecallerabandon',function(_0x57f884){try{utils['debug'](util[_0xac60('0x18')](_0xac60('0x24'),_0x57f884[_0xac60('0x1d')]),_0x57f884);agents[_0xac60('0x25')](_0x57f884);queues[_0xac60('0x25')](_0x57f884);}catch(_0x261dd8){utils[_0xac60('0x13')](util[_0xac60('0x18')](_0xac60('0x24'),_0x57f884['uniqueid']),_0x261dd8);}});ami['on'](_0xac60('0x26'),function(_0x567250){try{utils[_0xac60('0x17')](util[_0xac60('0x18')](_0xac60('0x27'),_0x567250['uniqueid']),_0x567250);queues[_0xac60('0x26')](_0x567250);recordings['queuecallerjoin'](_0x567250);}catch(_0x3ea83b){utils[_0xac60('0x13')](util[_0xac60('0x18')](_0xac60('0x27'),_0x567250[_0xac60('0x1d')]),_0x3ea83b);}});ami['on']('queuecallerleave',function(_0x33a931){try{utils[_0xac60('0x17')](util[_0xac60('0x18')](_0xac60('0x28'),_0x33a931[_0xac60('0x1d')]),_0x33a931);queues[_0xac60('0x29')](_0x33a931);}catch(_0x3a2b78){utils[_0xac60('0x13')](util[_0xac60('0x18')]('[%s][index][queuecallerleave]',_0x33a931[_0xac60('0x1d')]),_0x3a2b78);}});ami['on'](_0xac60('0x2a'),function(_0x3c23ec){try{utils[_0xac60('0x17')](util[_0xac60('0x18')]('[%s][index][musiconholdstart]',_0x3c23ec['uniqueid']),_0x3c23ec);queues['musiconholdstart'](_0x3c23ec);calls[_0xac60('0x2a')](_0x3c23ec);}catch(_0x3706e9){utils[_0xac60('0x13')](util[_0xac60('0x18')](_0xac60('0x2b'),_0x3c23ec[_0xac60('0x1d')]),_0x3706e9);}});ami['on'](_0xac60('0x2c'),function(_0x3a0794){try{utils[_0xac60('0x17')](util['format'](_0xac60('0x2d'),_0x3a0794[_0xac60('0x1d')]),_0x3a0794);queues['musiconholdstop'](_0x3a0794);calls['musiconholdstop'](_0x3a0794);}catch(_0x18b740){utils[_0xac60('0x13')](util['format']('[%s][index][musiconholdstop]',_0x3a0794[_0xac60('0x1d')]),_0x18b740);}});ami['on'](_0xac60('0x2e'),function(_0x20a5fd){try{utils['debug'](util[_0xac60('0x18')](_0xac60('0x2f'),_0x20a5fd[_0xac60('0x1d')]),_0x20a5fd);calls[_0xac60('0x2e')](_0x20a5fd);recordings['newstate'](_0x20a5fd);}catch(_0x55f77b){utils[_0xac60('0x13')](util[_0xac60('0x18')](_0xac60('0x2f'),_0x20a5fd[_0xac60('0x1d')]),_0x55f77b);}});ami['on'](_0xac60('0x30'),function(_0x1379b0){try{utils[_0xac60('0x17')](util[_0xac60('0x18')](_0xac60('0x31'),_0x1379b0['uniqueid']),_0x1379b0);calls[_0xac60('0x30')](_0x1379b0);recordings['hangup'](_0x1379b0);dials[_0xac60('0x30')](_0x1379b0);agents[_0xac60('0x30')](_0x1379b0);queues[_0xac60('0x30')](_0x1379b0);}catch(_0xa13508){utils['error'](util[_0xac60('0x18')](_0xac60('0x31'),_0x1379b0[_0xac60('0x1d')]),_0xa13508);}});ami['on']('cdr',function(_0x119cc5){try{utils['debug'](util[_0xac60('0x18')](_0xac60('0x32'),_0x119cc5['uniqueid']),_0x119cc5);members['cdr'](_0x119cc5);}catch(_0x2d8b2d){utils['error'](util[_0xac60('0x18')](_0xac60('0x32'),_0x119cc5['uniqueid']),_0x2d8b2d);}});ami['on'](_0xac60('0x33'),function(_0x50a514){try{utils[_0xac60('0x17')](util[_0xac60('0x18')](_0xac60('0x34'),_0x50a514[_0xac60('0x1d')]),_0x50a514);queues[_0xac60('0x33')](_0x50a514);agents[_0xac60('0x33')](_0x50a514);transfers['blindtransfer'](_0x50a514);}catch(_0x1cee40){utils['error'](util['format']('[%s][index][blindtransfer]',_0x50a514[_0xac60('0x1d')]),_0x1cee40);}});ami['on'](_0xac60('0x35'),function(_0x37daba){try{utils[_0xac60('0x17')](util['format'](_0xac60('0x36'),_0x37daba['origtransfereruniqueid']),_0x37daba);queues['attendedtransfer'](_0x37daba);transfers[_0xac60('0x35')](_0x37daba);agents[_0xac60('0x35')](_0x37daba);calls[_0xac60('0x35')](_0x37daba);}catch(_0x5aa1af){utils['error'](util[_0xac60('0x18')](_0xac60('0x36'),_0x37daba[_0xac60('0x37')]),_0x5aa1af);}});ami['on']('varset',function(_0x4dcdb8){try{utils[_0xac60('0x17')](util[_0xac60('0x18')](_0xac60('0x38'),_0x4dcdb8['uniqueid']),_0x4dcdb8);queues[_0xac60('0x39')](_0x4dcdb8);recordings['varset'](_0x4dcdb8);calls[_0xac60('0x39')](_0x4dcdb8);dials['varset'](_0x4dcdb8);}catch(_0x2c8700){utils[_0xac60('0x13')](util[_0xac60('0x18')](_0xac60('0x38'),_0x4dcdb8[_0xac60('0x1d')]),_0x2c8700);}});ami['on'](_0xac60('0x3a'),function(_0x3ce202){try{utils['debug'](util[_0xac60('0x18')](_0xac60('0x3b'),_0x3ce202[_0xac60('0x1d')]),_0x3ce202);calls[_0xac60('0x3a')](_0x3ce202);recordings['newexten'](_0x3ce202);dials[_0xac60('0x3a')](_0x3ce202);}catch(_0x50f33f){utils[_0xac60('0x13')](util[_0xac60('0x18')](_0xac60('0x3b'),_0x3ce202[_0xac60('0x1d')]),_0x50f33f);}});ami['on'](_0xac60('0x3c'),function(_0x4123ca){try{utils[_0xac60('0x17')](util['format'](_0xac60('0x3d'),_0x4123ca[_0xac60('0x1d')]),_0x4123ca);calls['newchannel'](_0x4123ca);recordings[_0xac60('0x3c')](_0x4123ca);}catch(_0x2b0d94){utils['error'](util[_0xac60('0x18')](_0xac60('0x3d'),_0x4123ca[_0xac60('0x1d')]),_0x2b0d94);}});ami['on'](_0xac60('0x3e'),function(_0x204dc8){try{utils[_0xac60('0x17')](util[_0xac60('0x18')]('[%s][index][dialbegin]',_0x204dc8[_0xac60('0x1d')]),_0x204dc8);dials[_0xac60('0x3e')](_0x204dc8);}catch(_0x3e4bab){utils[_0xac60('0x13')](util[_0xac60('0x18')](_0xac60('0x3f'),_0x204dc8[_0xac60('0x1d')]),_0x3e4bab);}});ami['on'](_0xac60('0x40'),function(_0x1e1cb4){try{utils['debug'](util[_0xac60('0x18')]('[%s][index][dialend]',_0x1e1cb4['uniqueid']),_0x1e1cb4);dials[_0xac60('0x40')](_0x1e1cb4);}catch(_0x34f5d7){utils['error'](util[_0xac60('0x18')](_0xac60('0x41'),_0x1e1cb4[_0xac60('0x1d')]),_0x34f5d7);}});}