Built motion from commit b0a9a629.|2.6.33
[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 _0xa8c8=['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','[%s][index][varset]','[%s][index][newexten]','newexten','newchannel','[%s][index][newchannel]','[%s][index][dialbegin]','dialbegin','[%s]dialbegin','dialend','../../config/environment','./utils','util','xdr','disabled','env','production','asterisk','port','password','info','XDR\x20DISABLED','./agents.controller','./calls.controller','./recordings.controller','./members.controller','./dials.controller','./transfers.controller','connect','shutdown','fullybooted','error','close','managerevent','devicestatechange','debug','format','device','[%s][index][devicestatechange]','agentcalled','[%s][index][agentcalled]','uniqueid','agentringnoanswer','[%s][index][agentringnoanswer]','agentconnect','[%s][index][agentconnect]','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','[%s][index][queuecallerabandon]','queuecallerjoin','[%s][index][queuecallerjoin]','queuecallerleave','[%s][index][queuecallerleave]'];(function(_0x8cdd2d,_0x2cc412){var _0x92d90b=function(_0x24cf70){while(--_0x24cf70){_0x8cdd2d['push'](_0x8cdd2d['shift']());}};_0x92d90b(++_0x2cc412);}(_0xa8c8,0xa3));var _0x8a8c=function(_0xbf1a81,_0x286d08){_0xbf1a81=_0xbf1a81-0x0;var _0x2b42f=_0xa8c8[_0xbf1a81];return _0x2b42f;};var AsteriskManager=require('asterisk-manager');var config=require(_0x8a8c('0x0'));var utils=require(_0x8a8c('0x1'));var util=require(_0x8a8c('0x2'));var isXDREnabled=config[_0x8a8c('0x3')]&&config['xdr'][_0x8a8c('0x4')]?!config[_0x8a8c('0x3')][_0x8a8c('0x4')]:!![];var isProduction=config[_0x8a8c('0x5')]===_0x8a8c('0x6')||![];var isLocalAsterisk=config['xdr']&&config[_0x8a8c('0x3')]['local']===!![]||![];var ami=new AsteriskManager(config[_0x8a8c('0x7')][_0x8a8c('0x8')],config['asterisk']['ip'],config['asterisk']['username'],config[_0x8a8c('0x7')][_0x8a8c('0x9')],!![]);ami['keepConnected']();if(!isXDREnabled){utils[_0x8a8c('0xa')](_0x8a8c('0xb'));}else if(!isProduction&&!isLocalAsterisk){utils['info']('Asterisk\x20disabled\x20on\x20localhost');}else{var agents=require(_0x8a8c('0xc'));var calls=require(_0x8a8c('0xd'));var queues=require('./queues.controller');var recordings=require(_0x8a8c('0xe'));var members=require(_0x8a8c('0xf'));var dials=require(_0x8a8c('0x10'));var transfers=require(_0x8a8c('0x11'));var core=require('./core.controller');ami['on'](_0x8a8c('0x12'),core[_0x8a8c('0x12')]);ami['on']('shutdown',core[_0x8a8c('0x13')]);ami['on'](_0x8a8c('0x14'),core['fullybooted']);ami['on'](_0x8a8c('0x15'),core[_0x8a8c('0x15')]);ami['on'](_0x8a8c('0x16'),core[_0x8a8c('0x16')]);ami['on'](_0x8a8c('0x17'),core[_0x8a8c('0x17')]);ami['on'](_0x8a8c('0x18'),function(_0x1d8dc2){try{utils[_0x8a8c('0x19')](util[_0x8a8c('0x1a')]('[%s][index][devicestatechange]',_0x1d8dc2[_0x8a8c('0x1b')]),_0x1d8dc2);members[_0x8a8c('0x18')](_0x1d8dc2);}catch(_0xca686a){utils[_0x8a8c('0x15')](util[_0x8a8c('0x1a')](_0x8a8c('0x1c'),_0x1d8dc2['device']),_0xca686a);}});ami['on'](_0x8a8c('0x1d'),function(_0x8d6a7f){try{utils[_0x8a8c('0x19')](util['format']('[%s][index][agentcalled]',_0x8d6a7f['uniqueid']),_0x8d6a7f);agents[_0x8a8c('0x1d')](_0x8d6a7f);}catch(_0xb29da){utils[_0x8a8c('0x15')](util[_0x8a8c('0x1a')](_0x8a8c('0x1e'),_0x8d6a7f[_0x8a8c('0x1f')]),_0xb29da);}});ami['on'](_0x8a8c('0x20'),function(_0x2dd677){try{utils[_0x8a8c('0x19')](util[_0x8a8c('0x1a')]('[%s][index][agentringnoanswer]',_0x2dd677[_0x8a8c('0x1f')]),_0x2dd677);agents[_0x8a8c('0x20')](_0x2dd677);}catch(_0x107361){utils[_0x8a8c('0x15')](util[_0x8a8c('0x1a')](_0x8a8c('0x21'),_0x2dd677[_0x8a8c('0x1f')]),_0x107361);}});ami['on'](_0x8a8c('0x22'),function(_0xdffa09){try{utils[_0x8a8c('0x19')](util['format']('[%s][index][agentconnect]',_0xdffa09[_0x8a8c('0x1f')]),_0xdffa09);agents[_0x8a8c('0x22')](_0xdffa09);queues['agentconnect'](_0xdffa09);}catch(_0x523b74){utils[_0x8a8c('0x15')](util[_0x8a8c('0x1a')](_0x8a8c('0x23'),_0xdffa09[_0x8a8c('0x1f')]),_0x523b74);}});ami['on'](_0x8a8c('0x24'),function(_0x52d308){try{utils[_0x8a8c('0x19')](util[_0x8a8c('0x1a')](_0x8a8c('0x25'),_0x52d308['uniqueid']),_0x52d308);agents[_0x8a8c('0x24')](_0x52d308);queues[_0x8a8c('0x24')](_0x52d308);members[_0x8a8c('0x24')](_0x52d308);}catch(_0x4dc9f3){utils[_0x8a8c('0x15')](util['format'](_0x8a8c('0x25'),_0x52d308[_0x8a8c('0x1f')]),_0x4dc9f3);}});ami['on'](_0x8a8c('0x26'),function(_0x5e3e5e){try{utils[_0x8a8c('0x19')](util['format'](_0x8a8c('0x27'),_0x5e3e5e[_0x8a8c('0x1f')]),_0x5e3e5e);agents[_0x8a8c('0x26')](_0x5e3e5e);queues['queuecallerabandon'](_0x5e3e5e);}catch(_0x27d8f1){utils[_0x8a8c('0x15')](util[_0x8a8c('0x1a')](_0x8a8c('0x27'),_0x5e3e5e[_0x8a8c('0x1f')]),_0x27d8f1);}});ami['on'](_0x8a8c('0x28'),function(_0x55bed2){try{utils[_0x8a8c('0x19')](util['format']('[%s][index][queuecallerjoin]',_0x55bed2[_0x8a8c('0x1f')]),_0x55bed2);queues[_0x8a8c('0x28')](_0x55bed2);recordings[_0x8a8c('0x28')](_0x55bed2);}catch(_0xcfa518){utils['error'](util[_0x8a8c('0x1a')](_0x8a8c('0x29'),_0x55bed2['uniqueid']),_0xcfa518);}});ami['on'](_0x8a8c('0x2a'),function(_0x551555){try{utils['debug'](util[_0x8a8c('0x1a')](_0x8a8c('0x2b'),_0x551555[_0x8a8c('0x1f')]),_0x551555);queues['queuecallerleave'](_0x551555);}catch(_0x33384f){utils[_0x8a8c('0x15')](util[_0x8a8c('0x1a')](_0x8a8c('0x2b'),_0x551555[_0x8a8c('0x1f')]),_0x33384f);}});ami['on'](_0x8a8c('0x2c'),function(_0x5cc43f){try{utils['debug'](util[_0x8a8c('0x1a')](_0x8a8c('0x2d'),_0x5cc43f[_0x8a8c('0x1f')]),_0x5cc43f);queues[_0x8a8c('0x2c')](_0x5cc43f);calls['musiconholdstart'](_0x5cc43f);}catch(_0xdf3772){utils[_0x8a8c('0x15')](util['format'](_0x8a8c('0x2d'),_0x5cc43f['uniqueid']),_0xdf3772);}});ami['on'](_0x8a8c('0x2e'),function(_0x410d0d){try{utils[_0x8a8c('0x19')](util[_0x8a8c('0x1a')](_0x8a8c('0x2f'),_0x410d0d[_0x8a8c('0x1f')]),_0x410d0d);queues[_0x8a8c('0x2e')](_0x410d0d);calls[_0x8a8c('0x2e')](_0x410d0d);}catch(_0x447243){utils[_0x8a8c('0x15')](util[_0x8a8c('0x1a')](_0x8a8c('0x2f'),_0x410d0d[_0x8a8c('0x1f')]),_0x447243);}});ami['on'](_0x8a8c('0x30'),function(_0x540d76){try{utils['debug'](util[_0x8a8c('0x1a')](_0x8a8c('0x31'),_0x540d76[_0x8a8c('0x1f')]),_0x540d76);calls[_0x8a8c('0x30')](_0x540d76);recordings['newstate'](_0x540d76);}catch(_0x5b0f56){utils['error'](util['format'](_0x8a8c('0x31'),_0x540d76[_0x8a8c('0x1f')]),_0x5b0f56);}});ami['on'](_0x8a8c('0x32'),function(_0x4ee57a){try{utils[_0x8a8c('0x19')](util[_0x8a8c('0x1a')](_0x8a8c('0x33'),_0x4ee57a['uniqueid']),_0x4ee57a);calls['hangup'](_0x4ee57a);recordings['hangup'](_0x4ee57a);dials[_0x8a8c('0x32')](_0x4ee57a);agents[_0x8a8c('0x32')](_0x4ee57a);queues[_0x8a8c('0x32')](_0x4ee57a);}catch(_0x379766){utils[_0x8a8c('0x15')](util[_0x8a8c('0x1a')](_0x8a8c('0x33'),_0x4ee57a['uniqueid']),_0x379766);}});ami['on'](_0x8a8c('0x34'),function(_0x91dbcc){try{utils[_0x8a8c('0x19')](util['format'](_0x8a8c('0x35'),_0x91dbcc[_0x8a8c('0x1f')]),_0x91dbcc);members[_0x8a8c('0x34')](_0x91dbcc);}catch(_0x4bb153){utils['error'](util[_0x8a8c('0x1a')](_0x8a8c('0x35'),_0x91dbcc['uniqueid']),_0x4bb153);}});ami['on'](_0x8a8c('0x36'),function(_0x481114){try{utils[_0x8a8c('0x19')](util[_0x8a8c('0x1a')]('[%s][index][blindtransfer]',_0x481114[_0x8a8c('0x1f')]),_0x481114);queues['blindtransfer'](_0x481114);agents[_0x8a8c('0x36')](_0x481114);transfers[_0x8a8c('0x36')](_0x481114);}catch(_0x5dae3b){utils['error'](util['format'](_0x8a8c('0x37'),_0x481114[_0x8a8c('0x1f')]),_0x5dae3b);}});ami['on'](_0x8a8c('0x38'),function(_0x370ef3){try{utils['debug'](util[_0x8a8c('0x1a')](_0x8a8c('0x39'),_0x370ef3[_0x8a8c('0x3a')]),_0x370ef3);queues[_0x8a8c('0x38')](_0x370ef3);transfers['attendedtransfer'](_0x370ef3);agents[_0x8a8c('0x38')](_0x370ef3);calls['attendedtransfer'](_0x370ef3);}catch(_0x163fce){utils[_0x8a8c('0x15')](util['format'](_0x8a8c('0x39'),_0x370ef3['origtransfereruniqueid']),_0x163fce);}});ami['on'](_0x8a8c('0x3b'),function(_0x5a0a47){try{utils['debug'](util[_0x8a8c('0x1a')](_0x8a8c('0x3c'),_0x5a0a47[_0x8a8c('0x1f')]),_0x5a0a47);queues[_0x8a8c('0x3b')](_0x5a0a47);recordings[_0x8a8c('0x3b')](_0x5a0a47);calls[_0x8a8c('0x3b')](_0x5a0a47);dials[_0x8a8c('0x3b')](_0x5a0a47);}catch(_0x5ee2ec){utils[_0x8a8c('0x15')](util['format']('[%s][index][varset]',_0x5a0a47[_0x8a8c('0x1f')]),_0x5ee2ec);}});ami['on']('newexten',function(_0x57204a){try{utils[_0x8a8c('0x19')](util[_0x8a8c('0x1a')](_0x8a8c('0x3d'),_0x57204a['uniqueid']),_0x57204a);calls[_0x8a8c('0x3e')](_0x57204a);recordings[_0x8a8c('0x3e')](_0x57204a);dials[_0x8a8c('0x3e')](_0x57204a);}catch(_0x51efda){utils[_0x8a8c('0x15')](util['format'](_0x8a8c('0x3d'),_0x57204a[_0x8a8c('0x1f')]),_0x51efda);}});ami['on'](_0x8a8c('0x3f'),function(_0x5c1b79){try{utils[_0x8a8c('0x19')](util[_0x8a8c('0x1a')]('[%s][index][newchannel]',_0x5c1b79[_0x8a8c('0x1f')]),_0x5c1b79);calls[_0x8a8c('0x3f')](_0x5c1b79);recordings[_0x8a8c('0x3f')](_0x5c1b79);}catch(_0xbcad2c){utils[_0x8a8c('0x15')](util['format'](_0x8a8c('0x40'),_0x5c1b79['uniqueid']),_0xbcad2c);}});ami['on']('dialbegin',function(_0x38c0a){try{utils[_0x8a8c('0x19')](util[_0x8a8c('0x1a')](_0x8a8c('0x41'),_0x38c0a[_0x8a8c('0x1f')]),_0x38c0a);dials[_0x8a8c('0x42')](_0x38c0a);}catch(_0x2c9b30){utils['error'](util[_0x8a8c('0x1a')](_0x8a8c('0x43'),_0x38c0a[_0x8a8c('0x1f')]),_0x2c9b30);}});ami['on']('dialend',function(_0x303212){try{utils[_0x8a8c('0x19')](util[_0x8a8c('0x1a')]('[%s][index][dialend]',_0x303212['uniqueid']),_0x303212);dials[_0x8a8c('0x44')](_0x303212);}catch(_0xa926a8){utils[_0x8a8c('0x15')](util[_0x8a8c('0x1a')]('[%s][index][dialend]',_0x303212[_0x8a8c('0x1f')]),_0xa926a8);}});}