ba7cc29d971f0aa8d9d10c986267af369d586398
[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 _0x8729=['musiconholdstart','[%s][index][musiconholdstart]','[%s][index][musiconholdstop]','musiconholdstop','newstate','[%s][index][newstate]','hangup','[%s][index][hangup]','cdr','[%s][index][cdr]','[%s][index][blindtransfer]','blindtransfer','attendedtransfer','[%s][index][attendedtransfer]','origtransfereruniqueid','varset','[%s][index][varset]','[%s][index][newexten]','newexten','[%s][index][newchannel]','newchannel','dialbegin','[%s][index][dialbegin]','[%s]dialbegin','[%s][index][dialend]','dialend','asterisk-manager','../../config/environment','./utils','xdr','disabled','env','production','local','asterisk','port','password','keepConnected','XDR\x20DISABLED','info','./agents.controller','./calls.controller','./dials.controller','./transfers.controller','./core.controller','shutdown','fullybooted','error','close','managerevent','devicestatechange','debug','[%s][index][devicestatechange]','device','format','agentcalled','[%s][index][agentcalled]','uniqueid','agentringnoanswer','[%s][index][agentringnoanswer]','[%s][index][agentconnect]','agentconnect','[%s][index][agentcomplete]','agentcomplete','queuecallerabandon','[%s][index][queuecallerabandon]','queuecallerjoin','[%s][index][queuecallerjoin]','queuecallerleave','[%s][index][queuecallerleave]'];(function(_0x237202,_0x51ea1e){var _0x539765=function(_0x2c47d5){while(--_0x2c47d5){_0x237202['push'](_0x237202['shift']());}};_0x539765(++_0x51ea1e);}(_0x8729,0xec));var _0x9872=function(_0x5947c5,_0x3641d7){_0x5947c5=_0x5947c5-0x0;var _0xc19d4c=_0x8729[_0x5947c5];return _0xc19d4c;};var AsteriskManager=require(_0x9872('0x0'));var config=require(_0x9872('0x1'));var utils=require(_0x9872('0x2'));var util=require('util');var isXDREnabled=config[_0x9872('0x3')]&&config[_0x9872('0x3')]['disabled']?!config['xdr'][_0x9872('0x4')]:!![];var isProduction=config[_0x9872('0x5')]===_0x9872('0x6')||![];var isLocalAsterisk=config['xdr']&&config['xdr'][_0x9872('0x7')]===!![]||![];var ami=new AsteriskManager(config[_0x9872('0x8')][_0x9872('0x9')],config[_0x9872('0x8')]['ip'],config[_0x9872('0x8')]['username'],config[_0x9872('0x8')][_0x9872('0xa')],!![]);ami[_0x9872('0xb')]();if(!isXDREnabled){utils['info'](_0x9872('0xc'));}else if(!isProduction&&!isLocalAsterisk){utils[_0x9872('0xd')]('Asterisk\x20disabled\x20on\x20localhost');}else{var agents=require(_0x9872('0xe'));var calls=require(_0x9872('0xf'));var queues=require('./queues.controller');var recordings=require('./recordings.controller');var members=require('./members.controller');var dials=require(_0x9872('0x10'));var transfers=require(_0x9872('0x11'));var core=require(_0x9872('0x12'));ami['on']('connect',core['connect']);ami['on']('shutdown',core[_0x9872('0x13')]);ami['on'](_0x9872('0x14'),core[_0x9872('0x14')]);ami['on'](_0x9872('0x15'),core[_0x9872('0x15')]);ami['on'](_0x9872('0x16'),core['close']);ami['on']('managerevent',core[_0x9872('0x17')]);ami['on'](_0x9872('0x18'),function(_0x57c102){try{utils[_0x9872('0x19')](util['format'](_0x9872('0x1a'),_0x57c102[_0x9872('0x1b')]),_0x57c102);members[_0x9872('0x18')](_0x57c102);}catch(_0x1619ff){utils[_0x9872('0x15')](util[_0x9872('0x1c')](_0x9872('0x1a'),_0x57c102[_0x9872('0x1b')]),_0x1619ff);}});ami['on'](_0x9872('0x1d'),function(_0x5ed495){try{utils['debug'](util[_0x9872('0x1c')](_0x9872('0x1e'),_0x5ed495[_0x9872('0x1f')]),_0x5ed495);agents[_0x9872('0x1d')](_0x5ed495);}catch(_0xe11a66){utils[_0x9872('0x15')](util['format'](_0x9872('0x1e'),_0x5ed495[_0x9872('0x1f')]),_0xe11a66);}});ami['on'](_0x9872('0x20'),function(_0x593f6d){try{utils['debug'](util[_0x9872('0x1c')](_0x9872('0x21'),_0x593f6d[_0x9872('0x1f')]),_0x593f6d);agents[_0x9872('0x20')](_0x593f6d);}catch(_0x3be949){utils[_0x9872('0x15')](util[_0x9872('0x1c')](_0x9872('0x21'),_0x593f6d[_0x9872('0x1f')]),_0x3be949);}});ami['on']('agentconnect',function(_0x435eaa){try{utils[_0x9872('0x19')](util[_0x9872('0x1c')](_0x9872('0x22'),_0x435eaa[_0x9872('0x1f')]),_0x435eaa);agents['agentconnect'](_0x435eaa);queues[_0x9872('0x23')](_0x435eaa);}catch(_0x1b52fa){utils[_0x9872('0x15')](util[_0x9872('0x1c')]('[%s][index][agentconnect]',_0x435eaa['uniqueid']),_0x1b52fa);}});ami['on']('agentcomplete',function(_0x424a92){try{utils[_0x9872('0x19')](util[_0x9872('0x1c')](_0x9872('0x24'),_0x424a92[_0x9872('0x1f')]),_0x424a92);agents[_0x9872('0x25')](_0x424a92);queues[_0x9872('0x25')](_0x424a92);members['agentcomplete'](_0x424a92);}catch(_0x48d989){utils[_0x9872('0x15')](util[_0x9872('0x1c')](_0x9872('0x24'),_0x424a92[_0x9872('0x1f')]),_0x48d989);}});ami['on'](_0x9872('0x26'),function(_0x32201d){try{utils[_0x9872('0x19')](util[_0x9872('0x1c')](_0x9872('0x27'),_0x32201d['uniqueid']),_0x32201d);agents[_0x9872('0x26')](_0x32201d);queues['queuecallerabandon'](_0x32201d);}catch(_0xb69f40){utils[_0x9872('0x15')](util[_0x9872('0x1c')]('[%s][index][queuecallerabandon]',_0x32201d[_0x9872('0x1f')]),_0xb69f40);}});ami['on'](_0x9872('0x28'),function(_0x5db761){try{utils[_0x9872('0x19')](util[_0x9872('0x1c')]('[%s][index][queuecallerjoin]',_0x5db761[_0x9872('0x1f')]),_0x5db761);queues['queuecallerjoin'](_0x5db761);recordings[_0x9872('0x28')](_0x5db761);}catch(_0x5aea1a){utils[_0x9872('0x15')](util[_0x9872('0x1c')](_0x9872('0x29'),_0x5db761[_0x9872('0x1f')]),_0x5aea1a);}});ami['on'](_0x9872('0x2a'),function(_0x5373ea){try{utils['debug'](util['format'](_0x9872('0x2b'),_0x5373ea[_0x9872('0x1f')]),_0x5373ea);queues[_0x9872('0x2a')](_0x5373ea);}catch(_0x5c03c7){utils[_0x9872('0x15')](util['format'](_0x9872('0x2b'),_0x5373ea[_0x9872('0x1f')]),_0x5c03c7);}});ami['on'](_0x9872('0x2c'),function(_0x1daa89){try{utils[_0x9872('0x19')](util['format'](_0x9872('0x2d'),_0x1daa89[_0x9872('0x1f')]),_0x1daa89);queues[_0x9872('0x2c')](_0x1daa89);calls['musiconholdstart'](_0x1daa89);}catch(_0x5aa7a9){utils['error'](util[_0x9872('0x1c')](_0x9872('0x2d'),_0x1daa89['uniqueid']),_0x5aa7a9);}});ami['on']('musiconholdstop',function(_0x47201e){try{utils[_0x9872('0x19')](util[_0x9872('0x1c')](_0x9872('0x2e'),_0x47201e[_0x9872('0x1f')]),_0x47201e);queues[_0x9872('0x2f')](_0x47201e);calls[_0x9872('0x2f')](_0x47201e);}catch(_0x48eb93){utils[_0x9872('0x15')](util['format']('[%s][index][musiconholdstop]',_0x47201e[_0x9872('0x1f')]),_0x48eb93);}});ami['on'](_0x9872('0x30'),function(_0x5a6ea8){try{utils['debug'](util[_0x9872('0x1c')](_0x9872('0x31'),_0x5a6ea8[_0x9872('0x1f')]),_0x5a6ea8);calls['newstate'](_0x5a6ea8);recordings[_0x9872('0x30')](_0x5a6ea8);}catch(_0x102451){utils[_0x9872('0x15')](util[_0x9872('0x1c')](_0x9872('0x31'),_0x5a6ea8['uniqueid']),_0x102451);}});ami['on'](_0x9872('0x32'),function(_0xf44221){try{utils['debug'](util['format'](_0x9872('0x33'),_0xf44221['uniqueid']),_0xf44221);calls[_0x9872('0x32')](_0xf44221);recordings['hangup'](_0xf44221);dials[_0x9872('0x32')](_0xf44221);agents[_0x9872('0x32')](_0xf44221);queues['hangup'](_0xf44221);}catch(_0x13bc2f){utils[_0x9872('0x15')](util[_0x9872('0x1c')](_0x9872('0x33'),_0xf44221[_0x9872('0x1f')]),_0x13bc2f);}});ami['on'](_0x9872('0x34'),function(_0x4e5da6){try{utils['debug'](util[_0x9872('0x1c')]('[%s][index][cdr]',_0x4e5da6[_0x9872('0x1f')]),_0x4e5da6);members[_0x9872('0x34')](_0x4e5da6);}catch(_0x55f1c5){utils[_0x9872('0x15')](util['format'](_0x9872('0x35'),_0x4e5da6[_0x9872('0x1f')]),_0x55f1c5);}});ami['on']('blindtransfer',function(_0x12f7b5){try{utils[_0x9872('0x19')](util[_0x9872('0x1c')](_0x9872('0x36'),_0x12f7b5['uniqueid']),_0x12f7b5);queues['blindtransfer'](_0x12f7b5);agents[_0x9872('0x37')](_0x12f7b5);transfers[_0x9872('0x37')](_0x12f7b5);recordings[_0x9872('0x37')](_0x12f7b5);}catch(_0x297f2a){utils[_0x9872('0x15')](util[_0x9872('0x1c')]('[%s][index][blindtransfer]',_0x12f7b5[_0x9872('0x1f')]),_0x297f2a);}});ami['on'](_0x9872('0x38'),function(_0x2469b0){try{utils['debug'](util[_0x9872('0x1c')](_0x9872('0x39'),_0x2469b0[_0x9872('0x3a')]),_0x2469b0);queues['attendedtransfer'](_0x2469b0);transfers[_0x9872('0x38')](_0x2469b0);agents[_0x9872('0x38')](_0x2469b0);calls['attendedtransfer'](_0x2469b0);}catch(_0x4822b9){utils[_0x9872('0x15')](util[_0x9872('0x1c')](_0x9872('0x39'),_0x2469b0[_0x9872('0x3a')]),_0x4822b9);}});ami['on'](_0x9872('0x3b'),function(_0x569764){try{utils[_0x9872('0x19')](util[_0x9872('0x1c')](_0x9872('0x3c'),_0x569764[_0x9872('0x1f')]),_0x569764);queues[_0x9872('0x3b')](_0x569764);recordings[_0x9872('0x3b')](_0x569764);calls[_0x9872('0x3b')](_0x569764);dials[_0x9872('0x3b')](_0x569764);}catch(_0x5f2a45){utils['error'](util[_0x9872('0x1c')](_0x9872('0x3c'),_0x569764[_0x9872('0x1f')]),_0x5f2a45);}});ami['on']('newexten',function(_0x3417bf){try{utils[_0x9872('0x19')](util[_0x9872('0x1c')](_0x9872('0x3d'),_0x3417bf['uniqueid']),_0x3417bf);calls['newexten'](_0x3417bf);recordings[_0x9872('0x3e')](_0x3417bf);dials['newexten'](_0x3417bf);}catch(_0x4c064b){utils['error'](util[_0x9872('0x1c')](_0x9872('0x3d'),_0x3417bf[_0x9872('0x1f')]),_0x4c064b);}});ami['on']('newchannel',function(_0x3bc396){try{utils[_0x9872('0x19')](util['format'](_0x9872('0x3f'),_0x3bc396['uniqueid']),_0x3bc396);calls[_0x9872('0x40')](_0x3bc396);recordings[_0x9872('0x40')](_0x3bc396);}catch(_0xcfeea8){utils[_0x9872('0x15')](util[_0x9872('0x1c')](_0x9872('0x3f'),_0x3bc396[_0x9872('0x1f')]),_0xcfeea8);}});ami['on'](_0x9872('0x41'),function(_0xf3bbb){try{utils[_0x9872('0x19')](util[_0x9872('0x1c')](_0x9872('0x42'),_0xf3bbb[_0x9872('0x1f')]),_0xf3bbb);dials[_0x9872('0x41')](_0xf3bbb);}catch(_0x772a36){utils['error'](util[_0x9872('0x1c')](_0x9872('0x43'),_0xf3bbb[_0x9872('0x1f')]),_0x772a36);}});ami['on']('dialend',function(_0x198d7c){try{utils[_0x9872('0x19')](util[_0x9872('0x1c')](_0x9872('0x44'),_0x198d7c[_0x9872('0x1f')]),_0x198d7c);dials[_0x9872('0x45')](_0x198d7c);}catch(_0x4aa2a4){utils[_0x9872('0x15')](util[_0x9872('0x1c')](_0x9872('0x44'),_0x198d7c[_0x9872('0x1f')]),_0x4aa2a4);}});}