Built motion from commit 85328c08.|2.5.50
[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 _0x1ee5=['cdr','[%s][index][cdr]','blindtransfer','[%s][index][blindtransfer]','attendedtransfer','[%s][index][attendedtransfer]','origtransfereruniqueid','varset','newexten','[%s][index][newexten]','[%s][index][newchannel]','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','./agents.controller','./calls.controller','./queues.controller','./recordings.controller','./members.controller','./dials.controller','./core.controller','connect','shutdown','fullybooted','error','close','devicestatechange','debug','format','[%s][index][devicestatechange]','device','agentcalled','[%s][index][agentcalled]','uniqueid','agentringnoanswer','[%s][index][agentconnect]','agentconnect','agentcomplete','[%s][index][agentcomplete]','[%s][index][queuecallerabandon]','queuecallerabandon','queuecallerjoin','[%s][index][queuecallerjoin]','queuecallerleave','[%s][index][queuecallerleave]','musiconholdstart','[%s][index][musiconholdstart]','musiconholdstop','[%s][index][musiconholdstop]','[%s][index][newstate]','newstate','[%s][index][hangup]','hangup'];(function(_0x5b27da,_0x4a6532){var _0x3254f4=function(_0x4194c6){while(--_0x4194c6){_0x5b27da['push'](_0x5b27da['shift']());}};_0x3254f4(++_0x4a6532);}(_0x1ee5,0x174));var _0x51ee=function(_0xb247a7,_0x22c245){_0xb247a7=_0xb247a7-0x0;var _0xedb31e=_0x1ee5[_0xb247a7];return _0xedb31e;};var AsteriskManager=require('asterisk-manager');var config=require(_0x51ee('0x0'));var utils=require(_0x51ee('0x1'));var util=require(_0x51ee('0x2'));var isXDREnabled=config[_0x51ee('0x3')]&&config[_0x51ee('0x3')]['disabled']?!config['xdr'][_0x51ee('0x4')]:!![];var isProduction=config[_0x51ee('0x5')]===_0x51ee('0x6')||![];var isLocalAsterisk=config[_0x51ee('0x3')]&&config[_0x51ee('0x3')][_0x51ee('0x7')]===!![]||![];var ami=new AsteriskManager(config[_0x51ee('0x8')][_0x51ee('0x9')],config[_0x51ee('0x8')]['ip'],config[_0x51ee('0x8')][_0x51ee('0xa')],config[_0x51ee('0x8')][_0x51ee('0xb')],!![]);ami[_0x51ee('0xc')]();if(!isXDREnabled){utils[_0x51ee('0xd')](_0x51ee('0xe'));}else if(!isProduction&&!isLocalAsterisk){utils[_0x51ee('0xd')]('Asterisk\x20disabled\x20on\x20localhost');}else{var agents=require(_0x51ee('0xf'));var calls=require(_0x51ee('0x10'));var queues=require(_0x51ee('0x11'));var recordings=require(_0x51ee('0x12'));var members=require(_0x51ee('0x13'));var dials=require(_0x51ee('0x14'));var transfers=require('./transfers.controller');var core=require(_0x51ee('0x15'));ami['on']('connect',core[_0x51ee('0x16')]);ami['on'](_0x51ee('0x17'),core[_0x51ee('0x17')]);ami['on']('fullybooted',core[_0x51ee('0x18')]);ami['on'](_0x51ee('0x19'),core[_0x51ee('0x19')]);ami['on']('close',core[_0x51ee('0x1a')]);ami['on']('managerevent',core['managerevent']);ami['on'](_0x51ee('0x1b'),function(_0x181dcc){try{utils[_0x51ee('0x1c')](util[_0x51ee('0x1d')](_0x51ee('0x1e'),_0x181dcc[_0x51ee('0x1f')]),_0x181dcc);members['devicestatechange'](_0x181dcc);}catch(_0x550a90){utils[_0x51ee('0x19')](util['format'](_0x51ee('0x1e'),_0x181dcc[_0x51ee('0x1f')]),_0x550a90);}});ami['on'](_0x51ee('0x20'),function(_0x760e18){try{utils[_0x51ee('0x1c')](util[_0x51ee('0x1d')](_0x51ee('0x21'),_0x760e18['uniqueid']),_0x760e18);agents['agentcalled'](_0x760e18);}catch(_0x3acc3e){utils[_0x51ee('0x19')](util[_0x51ee('0x1d')](_0x51ee('0x21'),_0x760e18[_0x51ee('0x22')]),_0x3acc3e);}});ami['on'](_0x51ee('0x23'),function(_0x32123a){try{utils[_0x51ee('0x1c')](util[_0x51ee('0x1d')]('[%s][index][agentringnoanswer]',_0x32123a[_0x51ee('0x22')]),_0x32123a);agents['agentringnoanswer'](_0x32123a);}catch(_0x3ad295){utils[_0x51ee('0x19')](util[_0x51ee('0x1d')]('[%s][index][agentringnoanswer]',_0x32123a[_0x51ee('0x22')]),_0x3ad295);}});ami['on']('agentconnect',function(_0x2e6670){try{utils['debug'](util[_0x51ee('0x1d')](_0x51ee('0x24'),_0x2e6670[_0x51ee('0x22')]),_0x2e6670);agents['agentconnect'](_0x2e6670);queues[_0x51ee('0x25')](_0x2e6670);}catch(_0x5aa462){utils[_0x51ee('0x19')](util[_0x51ee('0x1d')](_0x51ee('0x24'),_0x2e6670['uniqueid']),_0x5aa462);}});ami['on']('agentcomplete',function(_0x587555){try{utils[_0x51ee('0x1c')](util[_0x51ee('0x1d')]('[%s][index][agentcomplete]',_0x587555[_0x51ee('0x22')]),_0x587555);agents[_0x51ee('0x26')](_0x587555);queues['agentcomplete'](_0x587555);members['agentcomplete'](_0x587555);}catch(_0x5b584b){utils[_0x51ee('0x19')](util[_0x51ee('0x1d')](_0x51ee('0x27'),_0x587555[_0x51ee('0x22')]),_0x5b584b);}});ami['on']('queuecallerabandon',function(_0x4dadfa){try{utils['debug'](util[_0x51ee('0x1d')](_0x51ee('0x28'),_0x4dadfa[_0x51ee('0x22')]),_0x4dadfa);agents[_0x51ee('0x29')](_0x4dadfa);queues[_0x51ee('0x29')](_0x4dadfa);}catch(_0x26cd7d){utils['error'](util[_0x51ee('0x1d')](_0x51ee('0x28'),_0x4dadfa[_0x51ee('0x22')]),_0x26cd7d);}});ami['on'](_0x51ee('0x2a'),function(_0x4c0aea){try{utils['debug'](util[_0x51ee('0x1d')](_0x51ee('0x2b'),_0x4c0aea['uniqueid']),_0x4c0aea);queues[_0x51ee('0x2a')](_0x4c0aea);recordings[_0x51ee('0x2a')](_0x4c0aea);}catch(_0x5b2840){utils[_0x51ee('0x19')](util[_0x51ee('0x1d')](_0x51ee('0x2b'),_0x4c0aea[_0x51ee('0x22')]),_0x5b2840);}});ami['on']('queuecallerleave',function(_0x56eb84){try{utils[_0x51ee('0x1c')](util[_0x51ee('0x1d')]('[%s][index][queuecallerleave]',_0x56eb84['uniqueid']),_0x56eb84);queues[_0x51ee('0x2c')](_0x56eb84);}catch(_0x1fdb2c){utils[_0x51ee('0x19')](util['format'](_0x51ee('0x2d'),_0x56eb84[_0x51ee('0x22')]),_0x1fdb2c);}});ami['on'](_0x51ee('0x2e'),function(_0x1b3550){try{utils[_0x51ee('0x1c')](util[_0x51ee('0x1d')](_0x51ee('0x2f'),_0x1b3550[_0x51ee('0x22')]),_0x1b3550);queues[_0x51ee('0x2e')](_0x1b3550);calls[_0x51ee('0x2e')](_0x1b3550);}catch(_0x4e141e){utils[_0x51ee('0x19')](util[_0x51ee('0x1d')](_0x51ee('0x2f'),_0x1b3550[_0x51ee('0x22')]),_0x4e141e);}});ami['on'](_0x51ee('0x30'),function(_0x172119){try{utils['debug'](util[_0x51ee('0x1d')](_0x51ee('0x31'),_0x172119[_0x51ee('0x22')]),_0x172119);queues['musiconholdstop'](_0x172119);calls[_0x51ee('0x30')](_0x172119);}catch(_0x7bffea){utils['error'](util['format']('[%s][index][musiconholdstop]',_0x172119['uniqueid']),_0x7bffea);}});ami['on']('newstate',function(_0x3343e3){try{utils['debug'](util['format'](_0x51ee('0x32'),_0x3343e3[_0x51ee('0x22')]),_0x3343e3);calls[_0x51ee('0x33')](_0x3343e3);recordings['newstate'](_0x3343e3);}catch(_0x194a28){utils[_0x51ee('0x19')](util['format'](_0x51ee('0x32'),_0x3343e3[_0x51ee('0x22')]),_0x194a28);}});ami['on']('hangup',function(_0x278fd0){try{utils[_0x51ee('0x1c')](util[_0x51ee('0x1d')](_0x51ee('0x34'),_0x278fd0[_0x51ee('0x22')]),_0x278fd0);calls[_0x51ee('0x35')](_0x278fd0);recordings['hangup'](_0x278fd0);dials[_0x51ee('0x35')](_0x278fd0);agents[_0x51ee('0x35')](_0x278fd0);queues['hangup'](_0x278fd0);}catch(_0x2870e4){utils[_0x51ee('0x19')](util[_0x51ee('0x1d')]('[%s][index][hangup]',_0x278fd0[_0x51ee('0x22')]),_0x2870e4);}});ami['on'](_0x51ee('0x36'),function(_0x52f1e0){try{utils['debug'](util['format'](_0x51ee('0x37'),_0x52f1e0['uniqueid']),_0x52f1e0);members[_0x51ee('0x36')](_0x52f1e0);}catch(_0x21b4d4){utils[_0x51ee('0x19')](util[_0x51ee('0x1d')]('[%s][index][cdr]',_0x52f1e0[_0x51ee('0x22')]),_0x21b4d4);}});ami['on'](_0x51ee('0x38'),function(_0x54fb98){try{utils['debug'](util['format'](_0x51ee('0x39'),_0x54fb98['uniqueid']),_0x54fb98);queues['blindtransfer'](_0x54fb98);agents[_0x51ee('0x38')](_0x54fb98);transfers[_0x51ee('0x38')](_0x54fb98);recordings['blindtransfer'](_0x54fb98);}catch(_0x300d76){utils[_0x51ee('0x19')](util['format'](_0x51ee('0x39'),_0x54fb98['uniqueid']),_0x300d76);}});ami['on'](_0x51ee('0x3a'),function(_0x4f02d9){try{utils['debug'](util[_0x51ee('0x1d')](_0x51ee('0x3b'),_0x4f02d9[_0x51ee('0x3c')]),_0x4f02d9);queues[_0x51ee('0x3a')](_0x4f02d9);transfers[_0x51ee('0x3a')](_0x4f02d9);agents['attendedtransfer'](_0x4f02d9);calls[_0x51ee('0x3a')](_0x4f02d9);}catch(_0x403f8c){utils[_0x51ee('0x19')](util[_0x51ee('0x1d')](_0x51ee('0x3b'),_0x4f02d9[_0x51ee('0x3c')]),_0x403f8c);}});ami['on'](_0x51ee('0x3d'),function(_0x4b10c6){try{utils[_0x51ee('0x1c')](util[_0x51ee('0x1d')]('[%s][index][varset]',_0x4b10c6[_0x51ee('0x22')]),_0x4b10c6);queues[_0x51ee('0x3d')](_0x4b10c6);recordings[_0x51ee('0x3d')](_0x4b10c6);calls[_0x51ee('0x3d')](_0x4b10c6);dials[_0x51ee('0x3d')](_0x4b10c6);}catch(_0x5e6603){utils['error'](util['format']('[%s][index][varset]',_0x4b10c6[_0x51ee('0x22')]),_0x5e6603);}});ami['on'](_0x51ee('0x3e'),function(_0x54f836){try{utils[_0x51ee('0x1c')](util[_0x51ee('0x1d')](_0x51ee('0x3f'),_0x54f836[_0x51ee('0x22')]),_0x54f836);calls['newexten'](_0x54f836);recordings[_0x51ee('0x3e')](_0x54f836);dials[_0x51ee('0x3e')](_0x54f836);}catch(_0x5f3206){utils['error'](util[_0x51ee('0x1d')]('[%s][index][newexten]',_0x54f836[_0x51ee('0x22')]),_0x5f3206);}});ami['on']('newchannel',function(_0xf8c326){try{utils['debug'](util['format'](_0x51ee('0x40'),_0xf8c326['uniqueid']),_0xf8c326);calls['newchannel'](_0xf8c326);recordings[_0x51ee('0x41')](_0xf8c326);}catch(_0x56c2b5){utils[_0x51ee('0x19')](util[_0x51ee('0x1d')](_0x51ee('0x40'),_0xf8c326[_0x51ee('0x22')]),_0x56c2b5);}});ami['on'](_0x51ee('0x42'),function(_0x2b6235){try{utils['debug'](util['format'](_0x51ee('0x43'),_0x2b6235['uniqueid']),_0x2b6235);dials[_0x51ee('0x42')](_0x2b6235);}catch(_0x533929){utils[_0x51ee('0x19')](util[_0x51ee('0x1d')](_0x51ee('0x44'),_0x2b6235[_0x51ee('0x22')]),_0x533929);}});ami['on'](_0x51ee('0x45'),function(_0x17ed65){try{utils[_0x51ee('0x1c')](util['format'](_0x51ee('0x46'),_0x17ed65[_0x51ee('0x22')]),_0x17ed65);dials[_0x51ee('0x45')](_0x17ed65);}catch(_0x2f51fe){utils[_0x51ee('0x19')](util[_0x51ee('0x1d')](_0x51ee('0x46'),_0x17ed65['uniqueid']),_0x2f51fe);}});}