Built motion from commit ac06311e.|2.6.28
[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 _0xe48f=['managerevent','devicestatechange','[%s][index][devicestatechange]','device','agentcalled','debug','[%s][index][agentcalled]','uniqueid','format','agentringnoanswer','[%s][index][agentringnoanswer]','agentconnect','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','[%s][index][queuecallerabandon]','queuecallerjoin','[%s][index][queuecallerjoin]','queuecallerleave','[%s][index][queuecallerleave]','[%s][index][musiconholdstart]','musiconholdstart','musiconholdstop','[%s][index][musiconholdstop]','newstate','[%s][index][newstate]','hangup','cdr','[%s][index][cdr]','blindtransfer','[%s][index][blindtransfer]','origtransfereruniqueid','attendedtransfer','[%s][index][attendedtransfer]','varset','[%s][index][varset]','newexten','[%s][index][newexten]','[%s][index][newchannel]','newchannel','dialbegin','[%s]dialbegin','dialend','[%s][index][dialend]','asterisk-manager','./utils','util','xdr','disabled','env','production','asterisk','port','username','keepConnected','info','./agents.controller','./queues.controller','./recordings.controller','./transfers.controller','./core.controller','shutdown','fullybooted','error','close'];(function(_0x36d703,_0x55b354){var _0x12c909=function(_0x5e846a){while(--_0x5e846a){_0x36d703['push'](_0x36d703['shift']());}};_0x12c909(++_0x55b354);}(_0xe48f,0x171));var _0xfe48=function(_0xea8947,_0x1b573d){_0xea8947=_0xea8947-0x0;var _0x2455e9=_0xe48f[_0xea8947];return _0x2455e9;};var AsteriskManager=require(_0xfe48('0x0'));var config=require('../../config/environment');var utils=require(_0xfe48('0x1'));var util=require(_0xfe48('0x2'));var isXDREnabled=config[_0xfe48('0x3')]&&config[_0xfe48('0x3')][_0xfe48('0x4')]?!config[_0xfe48('0x3')]['disabled']:!![];var isProduction=config[_0xfe48('0x5')]===_0xfe48('0x6')||![];var isLocalAsterisk=config[_0xfe48('0x3')]&&config[_0xfe48('0x3')]['local']===!![]||![];var ami=new AsteriskManager(config[_0xfe48('0x7')][_0xfe48('0x8')],config[_0xfe48('0x7')]['ip'],config[_0xfe48('0x7')][_0xfe48('0x9')],config['asterisk']['password'],!![]);ami[_0xfe48('0xa')]();if(!isXDREnabled){utils['info']('XDR\x20DISABLED');}else if(!isProduction&&!isLocalAsterisk){utils[_0xfe48('0xb')]('Asterisk\x20disabled\x20on\x20localhost');}else{var agents=require(_0xfe48('0xc'));var calls=require('./calls.controller');var queues=require(_0xfe48('0xd'));var recordings=require(_0xfe48('0xe'));var members=require('./members.controller');var dials=require('./dials.controller');var transfers=require(_0xfe48('0xf'));var core=require(_0xfe48('0x10'));ami['on']('connect',core['connect']);ami['on'](_0xfe48('0x11'),core['shutdown']);ami['on'](_0xfe48('0x12'),core[_0xfe48('0x12')]);ami['on'](_0xfe48('0x13'),core['error']);ami['on'](_0xfe48('0x14'),core['close']);ami['on'](_0xfe48('0x15'),core[_0xfe48('0x15')]);ami['on'](_0xfe48('0x16'),function(_0x238515){try{utils['debug'](util['format'](_0xfe48('0x17'),_0x238515['device']),_0x238515);members[_0xfe48('0x16')](_0x238515);}catch(_0x50f5e4){utils[_0xfe48('0x13')](util['format'](_0xfe48('0x17'),_0x238515[_0xfe48('0x18')]),_0x50f5e4);}});ami['on'](_0xfe48('0x19'),function(_0xb732b4){try{utils[_0xfe48('0x1a')](util['format'](_0xfe48('0x1b'),_0xb732b4[_0xfe48('0x1c')]),_0xb732b4);agents[_0xfe48('0x19')](_0xb732b4);}catch(_0x1aac07){utils[_0xfe48('0x13')](util[_0xfe48('0x1d')](_0xfe48('0x1b'),_0xb732b4['uniqueid']),_0x1aac07);}});ami['on'](_0xfe48('0x1e'),function(_0x3c3d60){try{utils[_0xfe48('0x1a')](util[_0xfe48('0x1d')]('[%s][index][agentringnoanswer]',_0x3c3d60[_0xfe48('0x1c')]),_0x3c3d60);agents['agentringnoanswer'](_0x3c3d60);}catch(_0x1800ff){utils[_0xfe48('0x13')](util[_0xfe48('0x1d')](_0xfe48('0x1f'),_0x3c3d60[_0xfe48('0x1c')]),_0x1800ff);}});ami['on'](_0xfe48('0x20'),function(_0x12c5a1){try{utils[_0xfe48('0x1a')](util[_0xfe48('0x1d')]('[%s][index][agentconnect]',_0x12c5a1[_0xfe48('0x1c')]),_0x12c5a1);agents[_0xfe48('0x20')](_0x12c5a1);queues[_0xfe48('0x20')](_0x12c5a1);}catch(_0xca52e2){utils[_0xfe48('0x13')](util[_0xfe48('0x1d')]('[%s][index][agentconnect]',_0x12c5a1[_0xfe48('0x1c')]),_0xca52e2);}});ami['on'](_0xfe48('0x21'),function(_0x24553f){try{utils[_0xfe48('0x1a')](util['format'](_0xfe48('0x22'),_0x24553f[_0xfe48('0x1c')]),_0x24553f);agents[_0xfe48('0x21')](_0x24553f);queues[_0xfe48('0x21')](_0x24553f);members['agentcomplete'](_0x24553f);}catch(_0x4ab180){utils[_0xfe48('0x13')](util[_0xfe48('0x1d')](_0xfe48('0x22'),_0x24553f[_0xfe48('0x1c')]),_0x4ab180);}});ami['on'](_0xfe48('0x23'),function(_0x1453e){try{utils[_0xfe48('0x1a')](util[_0xfe48('0x1d')]('[%s][index][queuecallerabandon]',_0x1453e['uniqueid']),_0x1453e);agents[_0xfe48('0x23')](_0x1453e);queues[_0xfe48('0x23')](_0x1453e);}catch(_0x52fd6a){utils[_0xfe48('0x13')](util['format'](_0xfe48('0x24'),_0x1453e[_0xfe48('0x1c')]),_0x52fd6a);}});ami['on'](_0xfe48('0x25'),function(_0x435bd2){try{utils[_0xfe48('0x1a')](util[_0xfe48('0x1d')](_0xfe48('0x26'),_0x435bd2[_0xfe48('0x1c')]),_0x435bd2);queues[_0xfe48('0x25')](_0x435bd2);recordings['queuecallerjoin'](_0x435bd2);}catch(_0x3e8b47){utils['error'](util[_0xfe48('0x1d')](_0xfe48('0x26'),_0x435bd2[_0xfe48('0x1c')]),_0x3e8b47);}});ami['on'](_0xfe48('0x27'),function(_0x109b94){try{utils['debug'](util[_0xfe48('0x1d')](_0xfe48('0x28'),_0x109b94['uniqueid']),_0x109b94);queues[_0xfe48('0x27')](_0x109b94);}catch(_0x214346){utils[_0xfe48('0x13')](util[_0xfe48('0x1d')]('[%s][index][queuecallerleave]',_0x109b94[_0xfe48('0x1c')]),_0x214346);}});ami['on']('musiconholdstart',function(_0x53eadc){try{utils[_0xfe48('0x1a')](util['format'](_0xfe48('0x29'),_0x53eadc['uniqueid']),_0x53eadc);queues[_0xfe48('0x2a')](_0x53eadc);calls[_0xfe48('0x2a')](_0x53eadc);}catch(_0x3e5292){utils[_0xfe48('0x13')](util[_0xfe48('0x1d')]('[%s][index][musiconholdstart]',_0x53eadc['uniqueid']),_0x3e5292);}});ami['on']('musiconholdstop',function(_0x23f675){try{utils[_0xfe48('0x1a')](util[_0xfe48('0x1d')]('[%s][index][musiconholdstop]',_0x23f675[_0xfe48('0x1c')]),_0x23f675);queues[_0xfe48('0x2b')](_0x23f675);calls[_0xfe48('0x2b')](_0x23f675);}catch(_0x37c54b){utils[_0xfe48('0x13')](util[_0xfe48('0x1d')](_0xfe48('0x2c'),_0x23f675[_0xfe48('0x1c')]),_0x37c54b);}});ami['on'](_0xfe48('0x2d'),function(_0x9da2bb){try{utils['debug'](util[_0xfe48('0x1d')](_0xfe48('0x2e'),_0x9da2bb[_0xfe48('0x1c')]),_0x9da2bb);calls[_0xfe48('0x2d')](_0x9da2bb);recordings['newstate'](_0x9da2bb);}catch(_0x48d047){utils[_0xfe48('0x13')](util['format']('[%s][index][newstate]',_0x9da2bb['uniqueid']),_0x48d047);}});ami['on'](_0xfe48('0x2f'),function(_0x436316){try{utils['debug'](util[_0xfe48('0x1d')]('[%s][index][hangup]',_0x436316[_0xfe48('0x1c')]),_0x436316);calls['hangup'](_0x436316);recordings[_0xfe48('0x2f')](_0x436316);dials[_0xfe48('0x2f')](_0x436316);agents['hangup'](_0x436316);queues[_0xfe48('0x2f')](_0x436316);}catch(_0x17f184){utils['error'](util[_0xfe48('0x1d')]('[%s][index][hangup]',_0x436316[_0xfe48('0x1c')]),_0x17f184);}});ami['on'](_0xfe48('0x30'),function(_0x4ed33e){try{utils[_0xfe48('0x1a')](util[_0xfe48('0x1d')](_0xfe48('0x31'),_0x4ed33e[_0xfe48('0x1c')]),_0x4ed33e);members[_0xfe48('0x30')](_0x4ed33e);}catch(_0x37635b){utils['error'](util[_0xfe48('0x1d')](_0xfe48('0x31'),_0x4ed33e['uniqueid']),_0x37635b);}});ami['on'](_0xfe48('0x32'),function(_0x4538d5){try{utils['debug'](util[_0xfe48('0x1d')](_0xfe48('0x33'),_0x4538d5[_0xfe48('0x1c')]),_0x4538d5);queues[_0xfe48('0x32')](_0x4538d5);agents[_0xfe48('0x32')](_0x4538d5);transfers[_0xfe48('0x32')](_0x4538d5);}catch(_0x535fdf){utils[_0xfe48('0x13')](util[_0xfe48('0x1d')]('[%s][index][blindtransfer]',_0x4538d5[_0xfe48('0x1c')]),_0x535fdf);}});ami['on']('attendedtransfer',function(_0x40d1cd){try{utils[_0xfe48('0x1a')](util[_0xfe48('0x1d')]('[%s][index][attendedtransfer]',_0x40d1cd[_0xfe48('0x34')]),_0x40d1cd);queues[_0xfe48('0x35')](_0x40d1cd);transfers[_0xfe48('0x35')](_0x40d1cd);agents[_0xfe48('0x35')](_0x40d1cd);calls['attendedtransfer'](_0x40d1cd);}catch(_0x1283f1){utils[_0xfe48('0x13')](util['format'](_0xfe48('0x36'),_0x40d1cd['origtransfereruniqueid']),_0x1283f1);}});ami['on'](_0xfe48('0x37'),function(_0x136501){try{utils[_0xfe48('0x1a')](util[_0xfe48('0x1d')](_0xfe48('0x38'),_0x136501[_0xfe48('0x1c')]),_0x136501);queues[_0xfe48('0x37')](_0x136501);recordings[_0xfe48('0x37')](_0x136501);calls[_0xfe48('0x37')](_0x136501);dials[_0xfe48('0x37')](_0x136501);}catch(_0x2ce195){utils[_0xfe48('0x13')](util[_0xfe48('0x1d')]('[%s][index][varset]',_0x136501['uniqueid']),_0x2ce195);}});ami['on'](_0xfe48('0x39'),function(_0x66493a){try{utils['debug'](util[_0xfe48('0x1d')](_0xfe48('0x3a'),_0x66493a['uniqueid']),_0x66493a);calls[_0xfe48('0x39')](_0x66493a);recordings['newexten'](_0x66493a);dials[_0xfe48('0x39')](_0x66493a);}catch(_0x59356f){utils['error'](util[_0xfe48('0x1d')](_0xfe48('0x3a'),_0x66493a['uniqueid']),_0x59356f);}});ami['on']('newchannel',function(_0x2ae4c8){try{utils[_0xfe48('0x1a')](util[_0xfe48('0x1d')](_0xfe48('0x3b'),_0x2ae4c8[_0xfe48('0x1c')]),_0x2ae4c8);calls[_0xfe48('0x3c')](_0x2ae4c8);recordings['newchannel'](_0x2ae4c8);}catch(_0x23a7f0){utils[_0xfe48('0x13')](util[_0xfe48('0x1d')](_0xfe48('0x3b'),_0x2ae4c8[_0xfe48('0x1c')]),_0x23a7f0);}});ami['on'](_0xfe48('0x3d'),function(_0x17931c){try{utils['debug'](util[_0xfe48('0x1d')]('[%s][index][dialbegin]',_0x17931c[_0xfe48('0x1c')]),_0x17931c);dials['dialbegin'](_0x17931c);}catch(_0x3047be){utils['error'](util[_0xfe48('0x1d')](_0xfe48('0x3e'),_0x17931c[_0xfe48('0x1c')]),_0x3047be);}});ami['on'](_0xfe48('0x3f'),function(_0x4547bd){try{utils[_0xfe48('0x1a')](util[_0xfe48('0x1d')]('[%s][index][dialend]',_0x4547bd[_0xfe48('0x1c')]),_0x4547bd);dials[_0xfe48('0x3f')](_0x4547bd);}catch(_0x1fbaa1){utils[_0xfe48('0x13')](util[_0xfe48('0x1d')](_0xfe48('0x40'),_0x4547bd[_0xfe48('0x1c')]),_0x1fbaa1);}});}