91462eab917eebcc5e73c0c6b4cfd72ebf106109
[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 _0xa07e=['disabled','env','production','local','asterisk','port','username','password','keepConnected','info','XDR\x20DISABLED','Asterisk\x20disabled\x20on\x20localhost','./agents.controller','./calls.controller','./queues.controller','./members.controller','./transfers.controller','./core.controller','connect','shutdown','fullybooted','error','close','managerevent','format','device','[%s][index][devicestatechange]','debug','[%s][index][agentcalled]','uniqueid','agentcalled','agentringnoanswer','[%s][index][agentringnoanswer]','agentconnect','[%s][index][agentconnect]','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','queuecallerjoin','[%s][index][queuecallerjoin]','queuecallerleave','[%s][index][queuecallerleave]','[%s][index][musiconholdstart]','musiconholdstart','musiconholdstop','[%s][index][musiconholdstop]','newstate','hangup','[%s][index][hangup]','cdr','[%s][index][cdr]','blindtransfer','[%s][index][blindtransfer]','attendedtransfer','[%s][index][attendedtransfer]','origtransfereruniqueid','varset','[%s][index][newexten]','newexten','newchannel','[%s][index][newchannel]','dialbegin','[%s][index][dialbegin]','[%s]dialbegin','[%s][index][dialend]','asterisk-manager','../../config/environment','./utils','xdr'];(function(_0x5e75ae,_0x14c350){var _0x4b3598=function(_0x40b5b4){while(--_0x40b5b4){_0x5e75ae['push'](_0x5e75ae['shift']());}};_0x4b3598(++_0x14c350);}(_0xa07e,0xcb));var _0xea07=function(_0x1b7f40,_0x341cd6){_0x1b7f40=_0x1b7f40-0x0;var _0x1bc559=_0xa07e[_0x1b7f40];return _0x1bc559;};var AsteriskManager=require(_0xea07('0x0'));var config=require(_0xea07('0x1'));var utils=require(_0xea07('0x2'));var util=require('util');var isXDREnabled=config[_0xea07('0x3')]&&config[_0xea07('0x3')][_0xea07('0x4')]?!config[_0xea07('0x3')][_0xea07('0x4')]:!![];var isProduction=config[_0xea07('0x5')]===_0xea07('0x6')||![];var isLocalAsterisk=config[_0xea07('0x3')]&&config[_0xea07('0x3')][_0xea07('0x7')]===!![]||![];var ami=new AsteriskManager(config[_0xea07('0x8')][_0xea07('0x9')],config[_0xea07('0x8')]['ip'],config[_0xea07('0x8')][_0xea07('0xa')],config[_0xea07('0x8')][_0xea07('0xb')],!![]);ami[_0xea07('0xc')]();if(!isXDREnabled){utils[_0xea07('0xd')](_0xea07('0xe'));}else if(!isProduction&&!isLocalAsterisk){utils[_0xea07('0xd')](_0xea07('0xf'));}else{var agents=require(_0xea07('0x10'));var calls=require(_0xea07('0x11'));var queues=require(_0xea07('0x12'));var recordings=require('./recordings.controller');var members=require(_0xea07('0x13'));var dials=require('./dials.controller');var transfers=require(_0xea07('0x14'));var core=require(_0xea07('0x15'));ami['on']('connect',core[_0xea07('0x16')]);ami['on'](_0xea07('0x17'),core[_0xea07('0x17')]);ami['on'](_0xea07('0x18'),core['fullybooted']);ami['on']('error',core[_0xea07('0x19')]);ami['on']('close',core[_0xea07('0x1a')]);ami['on'](_0xea07('0x1b'),core['managerevent']);ami['on']('devicestatechange',function(_0x3f121a){try{utils['debug'](util[_0xea07('0x1c')]('[%s][index][devicestatechange]',_0x3f121a[_0xea07('0x1d')]),_0x3f121a);members['devicestatechange'](_0x3f121a);}catch(_0x3d3ce0){utils[_0xea07('0x19')](util['format'](_0xea07('0x1e'),_0x3f121a[_0xea07('0x1d')]),_0x3d3ce0);}});ami['on']('agentcalled',function(_0x3cf5fd){try{utils[_0xea07('0x1f')](util['format'](_0xea07('0x20'),_0x3cf5fd[_0xea07('0x21')]),_0x3cf5fd);agents[_0xea07('0x22')](_0x3cf5fd);}catch(_0x5c492d){utils[_0xea07('0x19')](util[_0xea07('0x1c')]('[%s][index][agentcalled]',_0x3cf5fd[_0xea07('0x21')]),_0x5c492d);}});ami['on'](_0xea07('0x23'),function(_0x49497b){try{utils[_0xea07('0x1f')](util[_0xea07('0x1c')](_0xea07('0x24'),_0x49497b[_0xea07('0x21')]),_0x49497b);agents['agentringnoanswer'](_0x49497b);}catch(_0x16f701){utils['error'](util['format'](_0xea07('0x24'),_0x49497b[_0xea07('0x21')]),_0x16f701);}});ami['on'](_0xea07('0x25'),function(_0x492f39){try{utils[_0xea07('0x1f')](util[_0xea07('0x1c')](_0xea07('0x26'),_0x492f39[_0xea07('0x21')]),_0x492f39);agents[_0xea07('0x25')](_0x492f39);queues['agentconnect'](_0x492f39);}catch(_0x5c50df){utils[_0xea07('0x19')](util[_0xea07('0x1c')](_0xea07('0x26'),_0x492f39['uniqueid']),_0x5c50df);}});ami['on']('agentcomplete',function(_0x161caf){try{utils[_0xea07('0x1f')](util['format']('[%s][index][agentcomplete]',_0x161caf[_0xea07('0x21')]),_0x161caf);agents[_0xea07('0x27')](_0x161caf);queues[_0xea07('0x27')](_0x161caf);members[_0xea07('0x27')](_0x161caf);}catch(_0x1aa960){utils['error'](util['format'](_0xea07('0x28'),_0x161caf[_0xea07('0x21')]),_0x1aa960);}});ami['on'](_0xea07('0x29'),function(_0xfe68ac){try{utils[_0xea07('0x1f')](util[_0xea07('0x1c')]('[%s][index][queuecallerabandon]',_0xfe68ac[_0xea07('0x21')]),_0xfe68ac);agents[_0xea07('0x29')](_0xfe68ac);queues[_0xea07('0x29')](_0xfe68ac);}catch(_0x5c0c5e){utils[_0xea07('0x19')](util[_0xea07('0x1c')]('[%s][index][queuecallerabandon]',_0xfe68ac[_0xea07('0x21')]),_0x5c0c5e);}});ami['on'](_0xea07('0x2a'),function(_0x2a0de4){try{utils[_0xea07('0x1f')](util[_0xea07('0x1c')](_0xea07('0x2b'),_0x2a0de4[_0xea07('0x21')]),_0x2a0de4);queues[_0xea07('0x2a')](_0x2a0de4);recordings[_0xea07('0x2a')](_0x2a0de4);}catch(_0x5accd6){utils[_0xea07('0x19')](util[_0xea07('0x1c')]('[%s][index][queuecallerjoin]',_0x2a0de4[_0xea07('0x21')]),_0x5accd6);}});ami['on'](_0xea07('0x2c'),function(_0x517380){try{utils[_0xea07('0x1f')](util[_0xea07('0x1c')]('[%s][index][queuecallerleave]',_0x517380[_0xea07('0x21')]),_0x517380);queues['queuecallerleave'](_0x517380);}catch(_0x2b381b){utils[_0xea07('0x19')](util[_0xea07('0x1c')](_0xea07('0x2d'),_0x517380[_0xea07('0x21')]),_0x2b381b);}});ami['on']('musiconholdstart',function(_0x3830b0){try{utils[_0xea07('0x1f')](util[_0xea07('0x1c')](_0xea07('0x2e'),_0x3830b0[_0xea07('0x21')]),_0x3830b0);queues[_0xea07('0x2f')](_0x3830b0);calls[_0xea07('0x2f')](_0x3830b0);}catch(_0x1c2eaa){utils[_0xea07('0x19')](util['format'](_0xea07('0x2e'),_0x3830b0[_0xea07('0x21')]),_0x1c2eaa);}});ami['on'](_0xea07('0x30'),function(_0x21df19){try{utils[_0xea07('0x1f')](util['format'](_0xea07('0x31'),_0x21df19['uniqueid']),_0x21df19);queues['musiconholdstop'](_0x21df19);calls[_0xea07('0x30')](_0x21df19);}catch(_0x3df394){utils[_0xea07('0x19')](util[_0xea07('0x1c')](_0xea07('0x31'),_0x21df19[_0xea07('0x21')]),_0x3df394);}});ami['on'](_0xea07('0x32'),function(_0x14674e){try{utils[_0xea07('0x1f')](util[_0xea07('0x1c')]('[%s][index][newstate]',_0x14674e[_0xea07('0x21')]),_0x14674e);calls[_0xea07('0x32')](_0x14674e);recordings['newstate'](_0x14674e);}catch(_0x2b97dd){utils[_0xea07('0x19')](util[_0xea07('0x1c')]('[%s][index][newstate]',_0x14674e[_0xea07('0x21')]),_0x2b97dd);}});ami['on'](_0xea07('0x33'),function(_0x12946c){try{utils[_0xea07('0x1f')](util[_0xea07('0x1c')](_0xea07('0x34'),_0x12946c['uniqueid']),_0x12946c);calls[_0xea07('0x33')](_0x12946c);recordings[_0xea07('0x33')](_0x12946c);dials[_0xea07('0x33')](_0x12946c);agents[_0xea07('0x33')](_0x12946c);queues[_0xea07('0x33')](_0x12946c);}catch(_0x1a951c){utils[_0xea07('0x19')](util[_0xea07('0x1c')](_0xea07('0x34'),_0x12946c[_0xea07('0x21')]),_0x1a951c);}});ami['on'](_0xea07('0x35'),function(_0x46666f){try{utils[_0xea07('0x1f')](util['format'](_0xea07('0x36'),_0x46666f['uniqueid']),_0x46666f);members[_0xea07('0x35')](_0x46666f);}catch(_0x12fbb3){utils['error'](util[_0xea07('0x1c')]('[%s][index][cdr]',_0x46666f[_0xea07('0x21')]),_0x12fbb3);}});ami['on'](_0xea07('0x37'),function(_0x521b22){try{utils[_0xea07('0x1f')](util[_0xea07('0x1c')](_0xea07('0x38'),_0x521b22[_0xea07('0x21')]),_0x521b22);queues[_0xea07('0x37')](_0x521b22);agents[_0xea07('0x37')](_0x521b22);transfers[_0xea07('0x37')](_0x521b22);recordings[_0xea07('0x37')](_0x521b22);}catch(_0xf9ecf4){utils[_0xea07('0x19')](util[_0xea07('0x1c')](_0xea07('0x38'),_0x521b22[_0xea07('0x21')]),_0xf9ecf4);}});ami['on'](_0xea07('0x39'),function(_0x1072ab){try{utils[_0xea07('0x1f')](util[_0xea07('0x1c')](_0xea07('0x3a'),_0x1072ab[_0xea07('0x3b')]),_0x1072ab);queues[_0xea07('0x39')](_0x1072ab);transfers['attendedtransfer'](_0x1072ab);agents['attendedtransfer'](_0x1072ab);calls['attendedtransfer'](_0x1072ab);}catch(_0xd09210){utils[_0xea07('0x19')](util['format'](_0xea07('0x3a'),_0x1072ab[_0xea07('0x3b')]),_0xd09210);}});ami['on'](_0xea07('0x3c'),function(_0xe58c5f){try{utils[_0xea07('0x1f')](util[_0xea07('0x1c')]('[%s][index][varset]',_0xe58c5f[_0xea07('0x21')]),_0xe58c5f);queues[_0xea07('0x3c')](_0xe58c5f);recordings[_0xea07('0x3c')](_0xe58c5f);calls[_0xea07('0x3c')](_0xe58c5f);dials[_0xea07('0x3c')](_0xe58c5f);}catch(_0x189f0c){utils[_0xea07('0x19')](util['format']('[%s][index][varset]',_0xe58c5f['uniqueid']),_0x189f0c);}});ami['on']('newexten',function(_0x2c3470){try{utils[_0xea07('0x1f')](util[_0xea07('0x1c')](_0xea07('0x3d'),_0x2c3470[_0xea07('0x21')]),_0x2c3470);calls[_0xea07('0x3e')](_0x2c3470);recordings['newexten'](_0x2c3470);dials[_0xea07('0x3e')](_0x2c3470);}catch(_0xe20d30){utils[_0xea07('0x19')](util[_0xea07('0x1c')]('[%s][index][newexten]',_0x2c3470[_0xea07('0x21')]),_0xe20d30);}});ami['on'](_0xea07('0x3f'),function(_0x20b5d0){try{utils[_0xea07('0x1f')](util['format'](_0xea07('0x40'),_0x20b5d0[_0xea07('0x21')]),_0x20b5d0);calls[_0xea07('0x3f')](_0x20b5d0);recordings['newchannel'](_0x20b5d0);}catch(_0x35a6f8){utils[_0xea07('0x19')](util[_0xea07('0x1c')](_0xea07('0x40'),_0x20b5d0[_0xea07('0x21')]),_0x35a6f8);}});ami['on'](_0xea07('0x41'),function(_0x51c926){try{utils['debug'](util['format'](_0xea07('0x42'),_0x51c926[_0xea07('0x21')]),_0x51c926);dials[_0xea07('0x41')](_0x51c926);}catch(_0x34b414){utils[_0xea07('0x19')](util[_0xea07('0x1c')](_0xea07('0x43'),_0x51c926[_0xea07('0x21')]),_0x34b414);}});ami['on']('dialend',function(_0x37c487){try{utils[_0xea07('0x1f')](util[_0xea07('0x1c')]('[%s][index][dialend]',_0x37c487[_0xea07('0x21')]),_0x37c487);dials['dialend'](_0x37c487);}catch(_0x292a73){utils[_0xea07('0x19')](util[_0xea07('0x1c')](_0xea07('0x44'),_0x37c487[_0xea07('0x21')]),_0x292a73);}});}