e45196e878fad814400bc6a6214a1e2acff352f3
[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 _0x67e5=['close','managerevent','devicestatechange','format','[%s][index][devicestatechange]','device','agentcalled','debug','[%s][index][agentcalled]','uniqueid','[%s][index][agentringnoanswer]','agentringnoanswer','agentconnect','[%s][index][agentconnect]','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','[%s][index][queuecallerabandon]','queuecallerjoin','[%s][index][queuecallerjoin]','[%s][index][queuecallerleave]','queuecallerleave','[%s][index][musiconholdstart]','musiconholdstart','musiconholdstop','[%s][index][musiconholdstop]','[%s][index][newstate]','newstate','hangup','[%s][index][hangup]','cdr','[%s][index][blindtransfer]','blindtransfer','attendedtransfer','[%s][index][attendedtransfer]','origtransfereruniqueid','varset','[%s][index][varset]','newexten','[%s][index][newexten]','newchannel','[%s][index][newchannel]','dialbegin','[%s][index][dialbegin]','[%s]dialbegin','dialend','[%s][index][dialend]','../../config/environment','./utils','util','xdr','disabled','env','production','local','asterisk','port','username','password','keepConnected','info','XDR\x20DISABLED','Asterisk\x20disabled\x20on\x20localhost','./agents.controller','./calls.controller','./queues.controller','./recordings.controller','./members.controller','./dials.controller','./core.controller','connect','shutdown','fullybooted','error'];(function(_0x4fcd7e,_0x29bd3f){var _0x537e97=function(_0x26aaa5){while(--_0x26aaa5){_0x4fcd7e['push'](_0x4fcd7e['shift']());}};_0x537e97(++_0x29bd3f);}(_0x67e5,0x1a1));var _0x567e=function(_0x115b6a,_0x1b2032){_0x115b6a=_0x115b6a-0x0;var _0x118580=_0x67e5[_0x115b6a];return _0x118580;};var AsteriskManager=require('asterisk-manager');var config=require(_0x567e('0x0'));var utils=require(_0x567e('0x1'));var util=require(_0x567e('0x2'));var isXDREnabled=config[_0x567e('0x3')]&&config[_0x567e('0x3')][_0x567e('0x4')]?!config[_0x567e('0x3')]['disabled']:!![];var isProduction=config[_0x567e('0x5')]===_0x567e('0x6')||![];var isLocalAsterisk=config[_0x567e('0x3')]&&config[_0x567e('0x3')][_0x567e('0x7')]===!![]||![];var ami=new AsteriskManager(config[_0x567e('0x8')][_0x567e('0x9')],config['asterisk']['ip'],config[_0x567e('0x8')][_0x567e('0xa')],config[_0x567e('0x8')][_0x567e('0xb')],!![]);ami[_0x567e('0xc')]();if(!isXDREnabled){utils[_0x567e('0xd')](_0x567e('0xe'));}else if(!isProduction&&!isLocalAsterisk){utils[_0x567e('0xd')](_0x567e('0xf'));}else{var agents=require(_0x567e('0x10'));var calls=require(_0x567e('0x11'));var queues=require(_0x567e('0x12'));var recordings=require(_0x567e('0x13'));var members=require(_0x567e('0x14'));var dials=require(_0x567e('0x15'));var transfers=require('./transfers.controller');var core=require(_0x567e('0x16'));ami['on'](_0x567e('0x17'),core[_0x567e('0x17')]);ami['on']('shutdown',core[_0x567e('0x18')]);ami['on']('fullybooted',core[_0x567e('0x19')]);ami['on'](_0x567e('0x1a'),core[_0x567e('0x1a')]);ami['on'](_0x567e('0x1b'),core[_0x567e('0x1b')]);ami['on'](_0x567e('0x1c'),core[_0x567e('0x1c')]);ami['on'](_0x567e('0x1d'),function(_0x56669e){try{utils['debug'](util[_0x567e('0x1e')](_0x567e('0x1f'),_0x56669e[_0x567e('0x20')]),_0x56669e);members[_0x567e('0x1d')](_0x56669e);}catch(_0x229fde){utils['error'](util[_0x567e('0x1e')]('[%s][index][devicestatechange]',_0x56669e[_0x567e('0x20')]),_0x229fde);}});ami['on'](_0x567e('0x21'),function(_0x35e479){try{utils[_0x567e('0x22')](util['format'](_0x567e('0x23'),_0x35e479['uniqueid']),_0x35e479);agents['agentcalled'](_0x35e479);}catch(_0x3ad4e9){utils[_0x567e('0x1a')](util[_0x567e('0x1e')](_0x567e('0x23'),_0x35e479[_0x567e('0x24')]),_0x3ad4e9);}});ami['on']('agentringnoanswer',function(_0x5224b2){try{utils[_0x567e('0x22')](util[_0x567e('0x1e')](_0x567e('0x25'),_0x5224b2[_0x567e('0x24')]),_0x5224b2);agents[_0x567e('0x26')](_0x5224b2);}catch(_0x48b4ee){utils['error'](util[_0x567e('0x1e')](_0x567e('0x25'),_0x5224b2[_0x567e('0x24')]),_0x48b4ee);}});ami['on'](_0x567e('0x27'),function(_0x5a73db){try{utils['debug'](util[_0x567e('0x1e')]('[%s][index][agentconnect]',_0x5a73db[_0x567e('0x24')]),_0x5a73db);agents[_0x567e('0x27')](_0x5a73db);queues[_0x567e('0x27')](_0x5a73db);}catch(_0x183a1b){utils['error'](util[_0x567e('0x1e')](_0x567e('0x28'),_0x5a73db[_0x567e('0x24')]),_0x183a1b);}});ami['on'](_0x567e('0x29'),function(_0xab1f50){try{utils['debug'](util[_0x567e('0x1e')](_0x567e('0x2a'),_0xab1f50['uniqueid']),_0xab1f50);agents[_0x567e('0x29')](_0xab1f50);queues['agentcomplete'](_0xab1f50);members[_0x567e('0x29')](_0xab1f50);}catch(_0x1d530f){utils[_0x567e('0x1a')](util[_0x567e('0x1e')]('[%s][index][agentcomplete]',_0xab1f50[_0x567e('0x24')]),_0x1d530f);}});ami['on'](_0x567e('0x2b'),function(_0x2f1a11){try{utils[_0x567e('0x22')](util['format']('[%s][index][queuecallerabandon]',_0x2f1a11[_0x567e('0x24')]),_0x2f1a11);agents[_0x567e('0x2b')](_0x2f1a11);queues[_0x567e('0x2b')](_0x2f1a11);}catch(_0x1b8bf5){utils[_0x567e('0x1a')](util[_0x567e('0x1e')](_0x567e('0x2c'),_0x2f1a11[_0x567e('0x24')]),_0x1b8bf5);}});ami['on'](_0x567e('0x2d'),function(_0x16c8dd){try{utils[_0x567e('0x22')](util[_0x567e('0x1e')](_0x567e('0x2e'),_0x16c8dd[_0x567e('0x24')]),_0x16c8dd);queues[_0x567e('0x2d')](_0x16c8dd);recordings[_0x567e('0x2d')](_0x16c8dd);}catch(_0x49fdef){utils[_0x567e('0x1a')](util[_0x567e('0x1e')]('[%s][index][queuecallerjoin]',_0x16c8dd[_0x567e('0x24')]),_0x49fdef);}});ami['on']('queuecallerleave',function(_0x49dd4d){try{utils[_0x567e('0x22')](util[_0x567e('0x1e')](_0x567e('0x2f'),_0x49dd4d['uniqueid']),_0x49dd4d);queues[_0x567e('0x30')](_0x49dd4d);}catch(_0x5930fb){utils[_0x567e('0x1a')](util[_0x567e('0x1e')](_0x567e('0x2f'),_0x49dd4d['uniqueid']),_0x5930fb);}});ami['on']('musiconholdstart',function(_0x3ac08f){try{utils[_0x567e('0x22')](util[_0x567e('0x1e')](_0x567e('0x31'),_0x3ac08f[_0x567e('0x24')]),_0x3ac08f);queues[_0x567e('0x32')](_0x3ac08f);calls['musiconholdstart'](_0x3ac08f);}catch(_0x119863){utils[_0x567e('0x1a')](util[_0x567e('0x1e')](_0x567e('0x31'),_0x3ac08f['uniqueid']),_0x119863);}});ami['on'](_0x567e('0x33'),function(_0x4f18e6){try{utils['debug'](util[_0x567e('0x1e')](_0x567e('0x34'),_0x4f18e6[_0x567e('0x24')]),_0x4f18e6);queues[_0x567e('0x33')](_0x4f18e6);calls[_0x567e('0x33')](_0x4f18e6);}catch(_0x4fe782){utils[_0x567e('0x1a')](util[_0x567e('0x1e')](_0x567e('0x34'),_0x4f18e6[_0x567e('0x24')]),_0x4fe782);}});ami['on']('newstate',function(_0x273bca){try{utils[_0x567e('0x22')](util['format'](_0x567e('0x35'),_0x273bca[_0x567e('0x24')]),_0x273bca);calls[_0x567e('0x36')](_0x273bca);recordings[_0x567e('0x36')](_0x273bca);}catch(_0x2a544c){utils['error'](util[_0x567e('0x1e')](_0x567e('0x35'),_0x273bca[_0x567e('0x24')]),_0x2a544c);}});ami['on'](_0x567e('0x37'),function(_0x34d98a){try{utils[_0x567e('0x22')](util[_0x567e('0x1e')]('[%s][index][hangup]',_0x34d98a[_0x567e('0x24')]),_0x34d98a);calls['hangup'](_0x34d98a);recordings[_0x567e('0x37')](_0x34d98a);dials[_0x567e('0x37')](_0x34d98a);agents[_0x567e('0x37')](_0x34d98a);queues[_0x567e('0x37')](_0x34d98a);}catch(_0x211e17){utils[_0x567e('0x1a')](util[_0x567e('0x1e')](_0x567e('0x38'),_0x34d98a[_0x567e('0x24')]),_0x211e17);}});ami['on'](_0x567e('0x39'),function(_0x57405f){try{utils[_0x567e('0x22')](util[_0x567e('0x1e')]('[%s][index][cdr]',_0x57405f[_0x567e('0x24')]),_0x57405f);members[_0x567e('0x39')](_0x57405f);}catch(_0x4b3c6b){utils[_0x567e('0x1a')](util[_0x567e('0x1e')]('[%s][index][cdr]',_0x57405f[_0x567e('0x24')]),_0x4b3c6b);}});ami['on']('blindtransfer',function(_0x26fe4c){try{utils['debug'](util[_0x567e('0x1e')](_0x567e('0x3a'),_0x26fe4c[_0x567e('0x24')]),_0x26fe4c);queues[_0x567e('0x3b')](_0x26fe4c);agents[_0x567e('0x3b')](_0x26fe4c);transfers[_0x567e('0x3b')](_0x26fe4c);recordings[_0x567e('0x3b')](_0x26fe4c);}catch(_0x198caa){utils[_0x567e('0x1a')](util[_0x567e('0x1e')](_0x567e('0x3a'),_0x26fe4c[_0x567e('0x24')]),_0x198caa);}});ami['on'](_0x567e('0x3c'),function(_0x26a1c9){try{utils[_0x567e('0x22')](util['format'](_0x567e('0x3d'),_0x26a1c9[_0x567e('0x3e')]),_0x26a1c9);queues[_0x567e('0x3c')](_0x26a1c9);transfers[_0x567e('0x3c')](_0x26a1c9);agents[_0x567e('0x3c')](_0x26a1c9);calls['attendedtransfer'](_0x26a1c9);}catch(_0x16d459){utils[_0x567e('0x1a')](util[_0x567e('0x1e')](_0x567e('0x3d'),_0x26a1c9[_0x567e('0x3e')]),_0x16d459);}});ami['on'](_0x567e('0x3f'),function(_0x2e022d){try{utils[_0x567e('0x22')](util[_0x567e('0x1e')](_0x567e('0x40'),_0x2e022d[_0x567e('0x24')]),_0x2e022d);queues[_0x567e('0x3f')](_0x2e022d);recordings['varset'](_0x2e022d);calls[_0x567e('0x3f')](_0x2e022d);dials[_0x567e('0x3f')](_0x2e022d);}catch(_0x4fc16c){utils[_0x567e('0x1a')](util[_0x567e('0x1e')](_0x567e('0x40'),_0x2e022d[_0x567e('0x24')]),_0x4fc16c);}});ami['on'](_0x567e('0x41'),function(_0x446719){try{utils['debug'](util[_0x567e('0x1e')](_0x567e('0x42'),_0x446719['uniqueid']),_0x446719);calls[_0x567e('0x41')](_0x446719);recordings[_0x567e('0x41')](_0x446719);dials['newexten'](_0x446719);}catch(_0xb54fe6){utils[_0x567e('0x1a')](util[_0x567e('0x1e')]('[%s][index][newexten]',_0x446719[_0x567e('0x24')]),_0xb54fe6);}});ami['on'](_0x567e('0x43'),function(_0x163351){try{utils[_0x567e('0x22')](util[_0x567e('0x1e')](_0x567e('0x44'),_0x163351[_0x567e('0x24')]),_0x163351);calls[_0x567e('0x43')](_0x163351);recordings[_0x567e('0x43')](_0x163351);}catch(_0x15a120){utils[_0x567e('0x1a')](util[_0x567e('0x1e')](_0x567e('0x44'),_0x163351['uniqueid']),_0x15a120);}});ami['on'](_0x567e('0x45'),function(_0x22f705){try{utils[_0x567e('0x22')](util[_0x567e('0x1e')](_0x567e('0x46'),_0x22f705['uniqueid']),_0x22f705);dials[_0x567e('0x45')](_0x22f705);}catch(_0x55bdea){utils['error'](util[_0x567e('0x1e')](_0x567e('0x47'),_0x22f705['uniqueid']),_0x55bdea);}});ami['on'](_0x567e('0x48'),function(_0x4d965a){try{utils[_0x567e('0x22')](util[_0x567e('0x1e')](_0x567e('0x49'),_0x4d965a['uniqueid']),_0x4d965a);dials[_0x567e('0x48')](_0x4d965a);}catch(_0x3ea6b8){utils[_0x567e('0x1a')](util['format']('[%s][index][dialend]',_0x4d965a['uniqueid']),_0x3ea6b8);}});}