38d49a59339ae0e26efdb314586cecada930678c
[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 _0x98c3=['[%s][index][queuecallerjoin]','queuecallerjoin','queuecallerleave','[%s][index][queuecallerleave]','musiconholdstart','[%s][index][musiconholdstart]','musiconholdstop','[%s][index][musiconholdstop]','newstate','[%s][index][newstate]','hangup','[%s][index][hangup]','cdr','[%s][index][cdr]','blindtransfer','[%s][index][blindtransfer]','attendedtransfer','[%s][index][attendedtransfer]','origtransfereruniqueid','varset','newexten','newchannel','[%s][index][newchannel]','[%s][index][dialbegin]','dialbegin','[%s]dialbegin','[%s][index][dialend]','dialend','./utils','util','xdr','disabled','production','local','asterisk','port','username','password','XDR\x20DISABLED','Asterisk\x20disabled\x20on\x20localhost','./agents.controller','./recordings.controller','./members.controller','./dials.controller','./transfers.controller','./core.controller','shutdown','fullybooted','error','close','managerevent','devicestatechange','[%s][index][devicestatechange]','device','format','uniqueid','agentcalled','[%s][index][agentcalled]','agentringnoanswer','[%s][index][agentringnoanswer]','agentconnect','debug','[%s][index][agentconnect]','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','[%s][index][queuecallerabandon]'];(function(_0x26eaaf,_0x18f5af){var _0xff0850=function(_0x2c9f43){while(--_0x2c9f43){_0x26eaaf['push'](_0x26eaaf['shift']());}};_0xff0850(++_0x18f5af);}(_0x98c3,0x1f1));var _0x398c=function(_0x19091a,_0x48800c){_0x19091a=_0x19091a-0x0;var _0x227745=_0x98c3[_0x19091a];return _0x227745;};var AsteriskManager=require('asterisk-manager');var config=require('../../config/environment');var utils=require(_0x398c('0x0'));var util=require(_0x398c('0x1'));var isXDREnabled=config['xdr']&&config[_0x398c('0x2')][_0x398c('0x3')]?!config['xdr'][_0x398c('0x3')]:!![];var isProduction=config['env']===_0x398c('0x4')||![];var isLocalAsterisk=config[_0x398c('0x2')]&&config['xdr'][_0x398c('0x5')]===!![]||![];var ami=new AsteriskManager(config[_0x398c('0x6')][_0x398c('0x7')],config[_0x398c('0x6')]['ip'],config[_0x398c('0x6')][_0x398c('0x8')],config[_0x398c('0x6')][_0x398c('0x9')],!![]);ami['keepConnected']();if(!isXDREnabled){utils['info'](_0x398c('0xa'));}else if(!isProduction&&!isLocalAsterisk){utils['info'](_0x398c('0xb'));}else{var agents=require(_0x398c('0xc'));var calls=require('./calls.controller');var queues=require('./queues.controller');var recordings=require(_0x398c('0xd'));var members=require(_0x398c('0xe'));var dials=require(_0x398c('0xf'));var transfers=require(_0x398c('0x10'));var core=require(_0x398c('0x11'));ami['on']('connect',core['connect']);ami['on'](_0x398c('0x12'),core['shutdown']);ami['on'](_0x398c('0x13'),core['fullybooted']);ami['on'](_0x398c('0x14'),core[_0x398c('0x14')]);ami['on'](_0x398c('0x15'),core['close']);ami['on'](_0x398c('0x16'),core[_0x398c('0x16')]);ami['on'](_0x398c('0x17'),function(_0x42fb17){try{utils['debug'](util['format'](_0x398c('0x18'),_0x42fb17[_0x398c('0x19')]),_0x42fb17);members[_0x398c('0x17')](_0x42fb17);}catch(_0x22fdd3){utils['error'](util[_0x398c('0x1a')](_0x398c('0x18'),_0x42fb17[_0x398c('0x19')]),_0x22fdd3);}});ami['on']('agentcalled',function(_0x206edf){try{utils['debug'](util[_0x398c('0x1a')]('[%s][index][agentcalled]',_0x206edf[_0x398c('0x1b')]),_0x206edf);agents[_0x398c('0x1c')](_0x206edf);}catch(_0x48b00b){utils[_0x398c('0x14')](util[_0x398c('0x1a')](_0x398c('0x1d'),_0x206edf[_0x398c('0x1b')]),_0x48b00b);}});ami['on'](_0x398c('0x1e'),function(_0x44052d){try{utils['debug'](util['format'](_0x398c('0x1f'),_0x44052d['uniqueid']),_0x44052d);agents['agentringnoanswer'](_0x44052d);}catch(_0x47d940){utils[_0x398c('0x14')](util[_0x398c('0x1a')](_0x398c('0x1f'),_0x44052d['uniqueid']),_0x47d940);}});ami['on'](_0x398c('0x20'),function(_0x55ba63){try{utils[_0x398c('0x21')](util[_0x398c('0x1a')](_0x398c('0x22'),_0x55ba63['uniqueid']),_0x55ba63);agents['agentconnect'](_0x55ba63);queues[_0x398c('0x20')](_0x55ba63);}catch(_0x24333a){utils[_0x398c('0x14')](util[_0x398c('0x1a')](_0x398c('0x22'),_0x55ba63[_0x398c('0x1b')]),_0x24333a);}});ami['on'](_0x398c('0x23'),function(_0x561a75){try{utils[_0x398c('0x21')](util[_0x398c('0x1a')](_0x398c('0x24'),_0x561a75[_0x398c('0x1b')]),_0x561a75);agents['agentcomplete'](_0x561a75);queues[_0x398c('0x23')](_0x561a75);members['agentcomplete'](_0x561a75);}catch(_0x30c923){utils['error'](util[_0x398c('0x1a')](_0x398c('0x24'),_0x561a75[_0x398c('0x1b')]),_0x30c923);}});ami['on'](_0x398c('0x25'),function(_0x32bb0d){try{utils[_0x398c('0x21')](util[_0x398c('0x1a')]('[%s][index][queuecallerabandon]',_0x32bb0d['uniqueid']),_0x32bb0d);agents['queuecallerabandon'](_0x32bb0d);queues['queuecallerabandon'](_0x32bb0d);}catch(_0xa439ed){utils['error'](util[_0x398c('0x1a')](_0x398c('0x26'),_0x32bb0d[_0x398c('0x1b')]),_0xa439ed);}});ami['on']('queuecallerjoin',function(_0x4003d7){try{utils[_0x398c('0x21')](util[_0x398c('0x1a')](_0x398c('0x27'),_0x4003d7[_0x398c('0x1b')]),_0x4003d7);queues['queuecallerjoin'](_0x4003d7);recordings[_0x398c('0x28')](_0x4003d7);}catch(_0x4293fe){utils[_0x398c('0x14')](util[_0x398c('0x1a')]('[%s][index][queuecallerjoin]',_0x4003d7[_0x398c('0x1b')]),_0x4293fe);}});ami['on'](_0x398c('0x29'),function(_0x11bb1e){try{utils[_0x398c('0x21')](util[_0x398c('0x1a')](_0x398c('0x2a'),_0x11bb1e[_0x398c('0x1b')]),_0x11bb1e);queues['queuecallerleave'](_0x11bb1e);}catch(_0x3b887f){utils[_0x398c('0x14')](util['format']('[%s][index][queuecallerleave]',_0x11bb1e['uniqueid']),_0x3b887f);}});ami['on'](_0x398c('0x2b'),function(_0x353dd0){try{utils[_0x398c('0x21')](util[_0x398c('0x1a')]('[%s][index][musiconholdstart]',_0x353dd0[_0x398c('0x1b')]),_0x353dd0);queues['musiconholdstart'](_0x353dd0);calls[_0x398c('0x2b')](_0x353dd0);}catch(_0x5e318d){utils[_0x398c('0x14')](util[_0x398c('0x1a')](_0x398c('0x2c'),_0x353dd0[_0x398c('0x1b')]),_0x5e318d);}});ami['on'](_0x398c('0x2d'),function(_0x3826eb){try{utils['debug'](util['format'](_0x398c('0x2e'),_0x3826eb['uniqueid']),_0x3826eb);queues[_0x398c('0x2d')](_0x3826eb);calls[_0x398c('0x2d')](_0x3826eb);}catch(_0x4871c1){utils[_0x398c('0x14')](util['format'](_0x398c('0x2e'),_0x3826eb[_0x398c('0x1b')]),_0x4871c1);}});ami['on'](_0x398c('0x2f'),function(_0x5e38e2){try{utils[_0x398c('0x21')](util['format'](_0x398c('0x30'),_0x5e38e2['uniqueid']),_0x5e38e2);calls['newstate'](_0x5e38e2);recordings[_0x398c('0x2f')](_0x5e38e2);}catch(_0x1569e9){utils[_0x398c('0x14')](util[_0x398c('0x1a')](_0x398c('0x30'),_0x5e38e2[_0x398c('0x1b')]),_0x1569e9);}});ami['on']('hangup',function(_0x4cef61){try{utils['debug'](util[_0x398c('0x1a')]('[%s][index][hangup]',_0x4cef61[_0x398c('0x1b')]),_0x4cef61);calls[_0x398c('0x31')](_0x4cef61);recordings[_0x398c('0x31')](_0x4cef61);dials[_0x398c('0x31')](_0x4cef61);agents[_0x398c('0x31')](_0x4cef61);queues['hangup'](_0x4cef61);}catch(_0x53d843){utils[_0x398c('0x14')](util['format'](_0x398c('0x32'),_0x4cef61['uniqueid']),_0x53d843);}});ami['on'](_0x398c('0x33'),function(_0x5ac5d4){try{utils[_0x398c('0x21')](util['format'](_0x398c('0x34'),_0x5ac5d4[_0x398c('0x1b')]),_0x5ac5d4);members[_0x398c('0x33')](_0x5ac5d4);}catch(_0x119f32){utils[_0x398c('0x14')](util[_0x398c('0x1a')](_0x398c('0x34'),_0x5ac5d4[_0x398c('0x1b')]),_0x119f32);}});ami['on'](_0x398c('0x35'),function(_0x3bb3e5){try{utils[_0x398c('0x21')](util['format'](_0x398c('0x36'),_0x3bb3e5[_0x398c('0x1b')]),_0x3bb3e5);queues['blindtransfer'](_0x3bb3e5);agents[_0x398c('0x35')](_0x3bb3e5);transfers[_0x398c('0x35')](_0x3bb3e5);}catch(_0x283a79){utils[_0x398c('0x14')](util['format']('[%s][index][blindtransfer]',_0x3bb3e5[_0x398c('0x1b')]),_0x283a79);}});ami['on'](_0x398c('0x37'),function(_0x384147){try{utils[_0x398c('0x21')](util[_0x398c('0x1a')](_0x398c('0x38'),_0x384147['origtransfereruniqueid']),_0x384147);queues[_0x398c('0x37')](_0x384147);transfers[_0x398c('0x37')](_0x384147);agents[_0x398c('0x37')](_0x384147);calls[_0x398c('0x37')](_0x384147);}catch(_0x4219c8){utils['error'](util['format'](_0x398c('0x38'),_0x384147[_0x398c('0x39')]),_0x4219c8);}});ami['on'](_0x398c('0x3a'),function(_0xcd94c1){try{utils[_0x398c('0x21')](util[_0x398c('0x1a')]('[%s][index][varset]',_0xcd94c1[_0x398c('0x1b')]),_0xcd94c1);queues[_0x398c('0x3a')](_0xcd94c1);recordings[_0x398c('0x3a')](_0xcd94c1);calls[_0x398c('0x3a')](_0xcd94c1);dials[_0x398c('0x3a')](_0xcd94c1);}catch(_0x1f9236){utils[_0x398c('0x14')](util[_0x398c('0x1a')]('[%s][index][varset]',_0xcd94c1[_0x398c('0x1b')]),_0x1f9236);}});ami['on'](_0x398c('0x3b'),function(_0x53b56a){try{utils[_0x398c('0x21')](util[_0x398c('0x1a')]('[%s][index][newexten]',_0x53b56a[_0x398c('0x1b')]),_0x53b56a);calls[_0x398c('0x3b')](_0x53b56a);recordings[_0x398c('0x3b')](_0x53b56a);dials[_0x398c('0x3b')](_0x53b56a);}catch(_0x259df3){utils[_0x398c('0x14')](util[_0x398c('0x1a')]('[%s][index][newexten]',_0x53b56a[_0x398c('0x1b')]),_0x259df3);}});ami['on'](_0x398c('0x3c'),function(_0x234252){try{utils[_0x398c('0x21')](util[_0x398c('0x1a')](_0x398c('0x3d'),_0x234252[_0x398c('0x1b')]),_0x234252);calls[_0x398c('0x3c')](_0x234252);recordings['newchannel'](_0x234252);}catch(_0x28311c){utils[_0x398c('0x14')](util[_0x398c('0x1a')]('[%s][index][newchannel]',_0x234252[_0x398c('0x1b')]),_0x28311c);}});ami['on']('dialbegin',function(_0x413c63){try{utils[_0x398c('0x21')](util[_0x398c('0x1a')](_0x398c('0x3e'),_0x413c63[_0x398c('0x1b')]),_0x413c63);dials[_0x398c('0x3f')](_0x413c63);}catch(_0x2861d4){utils[_0x398c('0x14')](util['format'](_0x398c('0x40'),_0x413c63[_0x398c('0x1b')]),_0x2861d4);}});ami['on']('dialend',function(_0x5d65cd){try{utils[_0x398c('0x21')](util[_0x398c('0x1a')](_0x398c('0x41'),_0x5d65cd['uniqueid']),_0x5d65cd);dials[_0x398c('0x42')](_0x5d65cd);}catch(_0x1e9fe8){utils[_0x398c('0x14')](util['format']('[%s][index][dialend]',_0x5d65cd[_0x398c('0x1b')]),_0x1e9fe8);}});}