6864bbe54bdb5479801c865b3cf640d111e68531
[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 _0x09fa=['[%s][index][dialbegin]','[%s][index][dialend]','dialend','asterisk-manager','../../config/environment','util','xdr','disabled','env','production','local','port','asterisk','username','password','keepConnected','info','Asterisk\x20disabled\x20on\x20localhost','./agents.controller','./calls.controller','./queues.controller','./recordings.controller','./members.controller','./dials.controller','./transfers.controller','./core.controller','connect','shutdown','fullybooted','error','close','managerevent','devicestatechange','[%s][index][devicestatechange]','device','agentcalled','format','[%s][index][agentcalled]','uniqueid','agentringnoanswer','debug','[%s][index][agentringnoanswer]','agentconnect','[%s][index][agentconnect]','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','[%s][index][queuecallerabandon]','[%s][index][queuecallerjoin]','queuecallerjoin','queuecallerleave','[%s][index][queuecallerleave]','musiconholdstart','[%s][index][musiconholdstart]','musiconholdstop','[%s][index][musiconholdstop]','[%s][index][newstate]','newstate','[%s][index][hangup]','hangup','cdr','[%s][index][cdr]','blindtransfer','[%s][index][blindtransfer]','attendedtransfer','[%s][index][attendedtransfer]','origtransfereruniqueid','varset','[%s][index][varset]','newexten','[%s][index][newexten]','newchannel','[%s][index][newchannel]','dialbegin'];(function(_0x576d95,_0x214fc6){var _0x3eeab8=function(_0x7afdc1){while(--_0x7afdc1){_0x576d95['push'](_0x576d95['shift']());}};_0x3eeab8(++_0x214fc6);}(_0x09fa,0x97));var _0xa09f=function(_0x500419,_0x549162){_0x500419=_0x500419-0x0;var _0x241c1a=_0x09fa[_0x500419];return _0x241c1a;};var AsteriskManager=require(_0xa09f('0x0'));var config=require(_0xa09f('0x1'));var utils=require('./utils');var util=require(_0xa09f('0x2'));var isXDREnabled=config[_0xa09f('0x3')]&&config[_0xa09f('0x3')][_0xa09f('0x4')]?!config[_0xa09f('0x3')][_0xa09f('0x4')]:!![];var isProduction=config[_0xa09f('0x5')]===_0xa09f('0x6')||![];var isLocalAsterisk=config[_0xa09f('0x3')]&&config[_0xa09f('0x3')][_0xa09f('0x7')]===!![]||![];var ami=new AsteriskManager(config['asterisk'][_0xa09f('0x8')],config['asterisk']['ip'],config[_0xa09f('0x9')][_0xa09f('0xa')],config[_0xa09f('0x9')][_0xa09f('0xb')],!![]);ami[_0xa09f('0xc')]();if(!isXDREnabled){utils['info']('XDR\x20DISABLED');}else if(!isProduction&&!isLocalAsterisk){utils[_0xa09f('0xd')](_0xa09f('0xe'));}else{var agents=require(_0xa09f('0xf'));var calls=require(_0xa09f('0x10'));var queues=require(_0xa09f('0x11'));var recordings=require(_0xa09f('0x12'));var members=require(_0xa09f('0x13'));var dials=require(_0xa09f('0x14'));var transfers=require(_0xa09f('0x15'));var core=require(_0xa09f('0x16'));ami['on'](_0xa09f('0x17'),core[_0xa09f('0x17')]);ami['on'](_0xa09f('0x18'),core['shutdown']);ami['on'](_0xa09f('0x19'),core[_0xa09f('0x19')]);ami['on'](_0xa09f('0x1a'),core['error']);ami['on'](_0xa09f('0x1b'),core[_0xa09f('0x1b')]);ami['on']('managerevent',core[_0xa09f('0x1c')]);ami['on'](_0xa09f('0x1d'),function(_0x40550a){try{utils['debug'](util['format'](_0xa09f('0x1e'),_0x40550a[_0xa09f('0x1f')]),_0x40550a);members[_0xa09f('0x1d')](_0x40550a);}catch(_0xaabd15){utils[_0xa09f('0x1a')](util['format'](_0xa09f('0x1e'),_0x40550a[_0xa09f('0x1f')]),_0xaabd15);}});ami['on'](_0xa09f('0x20'),function(_0x2be61e){try{utils['debug'](util[_0xa09f('0x21')](_0xa09f('0x22'),_0x2be61e['uniqueid']),_0x2be61e);agents[_0xa09f('0x20')](_0x2be61e);}catch(_0x5d4701){utils['error'](util[_0xa09f('0x21')](_0xa09f('0x22'),_0x2be61e[_0xa09f('0x23')]),_0x5d4701);}});ami['on'](_0xa09f('0x24'),function(_0x224ca1){try{utils[_0xa09f('0x25')](util[_0xa09f('0x21')](_0xa09f('0x26'),_0x224ca1['uniqueid']),_0x224ca1);agents[_0xa09f('0x24')](_0x224ca1);}catch(_0x2e203a){utils[_0xa09f('0x1a')](util['format']('[%s][index][agentringnoanswer]',_0x224ca1[_0xa09f('0x23')]),_0x2e203a);}});ami['on'](_0xa09f('0x27'),function(_0x1df2af){try{utils[_0xa09f('0x25')](util[_0xa09f('0x21')](_0xa09f('0x28'),_0x1df2af[_0xa09f('0x23')]),_0x1df2af);agents['agentconnect'](_0x1df2af);queues[_0xa09f('0x27')](_0x1df2af);}catch(_0x25be5c){utils[_0xa09f('0x1a')](util[_0xa09f('0x21')]('[%s][index][agentconnect]',_0x1df2af[_0xa09f('0x23')]),_0x25be5c);}});ami['on'](_0xa09f('0x29'),function(_0x3b0623){try{utils[_0xa09f('0x25')](util[_0xa09f('0x21')](_0xa09f('0x2a'),_0x3b0623[_0xa09f('0x23')]),_0x3b0623);agents[_0xa09f('0x29')](_0x3b0623);queues[_0xa09f('0x29')](_0x3b0623);members[_0xa09f('0x29')](_0x3b0623);}catch(_0x470099){utils[_0xa09f('0x1a')](util[_0xa09f('0x21')]('[%s][index][agentcomplete]',_0x3b0623[_0xa09f('0x23')]),_0x470099);}});ami['on'](_0xa09f('0x2b'),function(_0x585208){try{utils[_0xa09f('0x25')](util[_0xa09f('0x21')](_0xa09f('0x2c'),_0x585208['uniqueid']),_0x585208);agents[_0xa09f('0x2b')](_0x585208);queues['queuecallerabandon'](_0x585208);}catch(_0x53eb52){utils[_0xa09f('0x1a')](util[_0xa09f('0x21')](_0xa09f('0x2c'),_0x585208[_0xa09f('0x23')]),_0x53eb52);}});ami['on']('queuecallerjoin',function(_0x48fbbf){try{utils[_0xa09f('0x25')](util['format'](_0xa09f('0x2d'),_0x48fbbf['uniqueid']),_0x48fbbf);queues[_0xa09f('0x2e')](_0x48fbbf);recordings[_0xa09f('0x2e')](_0x48fbbf);}catch(_0x1a4e6c){utils[_0xa09f('0x1a')](util[_0xa09f('0x21')](_0xa09f('0x2d'),_0x48fbbf[_0xa09f('0x23')]),_0x1a4e6c);}});ami['on'](_0xa09f('0x2f'),function(_0x3f1740){try{utils[_0xa09f('0x25')](util['format'](_0xa09f('0x30'),_0x3f1740['uniqueid']),_0x3f1740);queues[_0xa09f('0x2f')](_0x3f1740);}catch(_0x31366d){utils[_0xa09f('0x1a')](util['format'](_0xa09f('0x30'),_0x3f1740[_0xa09f('0x23')]),_0x31366d);}});ami['on'](_0xa09f('0x31'),function(_0x31d7da){try{utils[_0xa09f('0x25')](util[_0xa09f('0x21')]('[%s][index][musiconholdstart]',_0x31d7da['uniqueid']),_0x31d7da);queues[_0xa09f('0x31')](_0x31d7da);calls[_0xa09f('0x31')](_0x31d7da);}catch(_0x12a003){utils[_0xa09f('0x1a')](util[_0xa09f('0x21')](_0xa09f('0x32'),_0x31d7da[_0xa09f('0x23')]),_0x12a003);}});ami['on'](_0xa09f('0x33'),function(_0xd35799){try{utils['debug'](util[_0xa09f('0x21')](_0xa09f('0x34'),_0xd35799[_0xa09f('0x23')]),_0xd35799);queues[_0xa09f('0x33')](_0xd35799);calls[_0xa09f('0x33')](_0xd35799);}catch(_0x32929e){utils[_0xa09f('0x1a')](util[_0xa09f('0x21')]('[%s][index][musiconholdstop]',_0xd35799[_0xa09f('0x23')]),_0x32929e);}});ami['on']('newstate',function(_0x11b245){try{utils['debug'](util[_0xa09f('0x21')](_0xa09f('0x35'),_0x11b245[_0xa09f('0x23')]),_0x11b245);calls[_0xa09f('0x36')](_0x11b245);recordings[_0xa09f('0x36')](_0x11b245);}catch(_0x127250){utils[_0xa09f('0x1a')](util['format']('[%s][index][newstate]',_0x11b245[_0xa09f('0x23')]),_0x127250);}});ami['on']('hangup',function(_0x9735c6){try{utils[_0xa09f('0x25')](util['format'](_0xa09f('0x37'),_0x9735c6[_0xa09f('0x23')]),_0x9735c6);calls[_0xa09f('0x38')](_0x9735c6);recordings[_0xa09f('0x38')](_0x9735c6);dials['hangup'](_0x9735c6);agents[_0xa09f('0x38')](_0x9735c6);queues[_0xa09f('0x38')](_0x9735c6);}catch(_0x2d77a6){utils[_0xa09f('0x1a')](util[_0xa09f('0x21')](_0xa09f('0x37'),_0x9735c6[_0xa09f('0x23')]),_0x2d77a6);}});ami['on'](_0xa09f('0x39'),function(_0x329ce6){try{utils[_0xa09f('0x25')](util[_0xa09f('0x21')](_0xa09f('0x3a'),_0x329ce6['uniqueid']),_0x329ce6);members['cdr'](_0x329ce6);}catch(_0x5c2fe4){utils[_0xa09f('0x1a')](util['format'](_0xa09f('0x3a'),_0x329ce6[_0xa09f('0x23')]),_0x5c2fe4);}});ami['on'](_0xa09f('0x3b'),function(_0x4292c5){try{utils[_0xa09f('0x25')](util['format'](_0xa09f('0x3c'),_0x4292c5['uniqueid']),_0x4292c5);queues[_0xa09f('0x3b')](_0x4292c5);agents['blindtransfer'](_0x4292c5);transfers['blindtransfer'](_0x4292c5);}catch(_0x406a82){utils['error'](util[_0xa09f('0x21')]('[%s][index][blindtransfer]',_0x4292c5['uniqueid']),_0x406a82);}});ami['on'](_0xa09f('0x3d'),function(_0x5f3686){try{utils[_0xa09f('0x25')](util[_0xa09f('0x21')](_0xa09f('0x3e'),_0x5f3686[_0xa09f('0x3f')]),_0x5f3686);queues[_0xa09f('0x3d')](_0x5f3686);transfers['attendedtransfer'](_0x5f3686);agents['attendedtransfer'](_0x5f3686);calls[_0xa09f('0x3d')](_0x5f3686);}catch(_0xde3873){utils['error'](util['format']('[%s][index][attendedtransfer]',_0x5f3686[_0xa09f('0x3f')]),_0xde3873);}});ami['on'](_0xa09f('0x40'),function(_0x3dfc5b){try{utils[_0xa09f('0x25')](util[_0xa09f('0x21')]('[%s][index][varset]',_0x3dfc5b[_0xa09f('0x23')]),_0x3dfc5b);queues[_0xa09f('0x40')](_0x3dfc5b);recordings['varset'](_0x3dfc5b);calls[_0xa09f('0x40')](_0x3dfc5b);dials[_0xa09f('0x40')](_0x3dfc5b);}catch(_0x3d7e9e){utils[_0xa09f('0x1a')](util[_0xa09f('0x21')](_0xa09f('0x41'),_0x3dfc5b[_0xa09f('0x23')]),_0x3d7e9e);}});ami['on'](_0xa09f('0x42'),function(_0x3d08a3){try{utils[_0xa09f('0x25')](util[_0xa09f('0x21')]('[%s][index][newexten]',_0x3d08a3[_0xa09f('0x23')]),_0x3d08a3);calls[_0xa09f('0x42')](_0x3d08a3);recordings[_0xa09f('0x42')](_0x3d08a3);dials[_0xa09f('0x42')](_0x3d08a3);}catch(_0x48d602){utils[_0xa09f('0x1a')](util[_0xa09f('0x21')](_0xa09f('0x43'),_0x3d08a3[_0xa09f('0x23')]),_0x48d602);}});ami['on'](_0xa09f('0x44'),function(_0x36adfd){try{utils[_0xa09f('0x25')](util[_0xa09f('0x21')](_0xa09f('0x45'),_0x36adfd[_0xa09f('0x23')]),_0x36adfd);calls[_0xa09f('0x44')](_0x36adfd);recordings[_0xa09f('0x44')](_0x36adfd);}catch(_0x30ab99){utils[_0xa09f('0x1a')](util[_0xa09f('0x21')]('[%s][index][newchannel]',_0x36adfd[_0xa09f('0x23')]),_0x30ab99);}});ami['on'](_0xa09f('0x46'),function(_0x29bcd1){try{utils[_0xa09f('0x25')](util['format'](_0xa09f('0x47'),_0x29bcd1[_0xa09f('0x23')]),_0x29bcd1);dials['dialbegin'](_0x29bcd1);}catch(_0x2e1107){utils[_0xa09f('0x1a')](util[_0xa09f('0x21')]('[%s]dialbegin',_0x29bcd1[_0xa09f('0x23')]),_0x2e1107);}});ami['on']('dialend',function(_0x4bee8e){try{utils[_0xa09f('0x25')](util[_0xa09f('0x21')](_0xa09f('0x48'),_0x4bee8e[_0xa09f('0x23')]),_0x4bee8e);dials[_0xa09f('0x49')](_0x4bee8e);}catch(_0x28401a){utils[_0xa09f('0x1a')](util['format'](_0xa09f('0x48'),_0x4bee8e['uniqueid']),_0x28401a);}});}