86b37579dd98a1060e4162107d5741ebe3a73079
[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 _0x8978=['[%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','./calls.controller','./queues.controller','./recordings.controller','./members.controller','./dials.controller','./transfers.controller','./core.controller','connect','shutdown','fullybooted','error','close','managerevent','devicestatechange','debug','format','[%s][index][devicestatechange]','device','agentcalled','[%s][index][agentcalled]','uniqueid','[%s][index][agentringnoanswer]','agentringnoanswer','agentconnect','[%s][index][agentconnect]','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','queuecallerjoin','[%s][index][queuecallerjoin]','[%s][index][queuecallerleave]','queuecallerleave','[%s][index][musiconholdstart]','musiconholdstart','musiconholdstop','[%s][index][musiconholdstop]','newstate','[%s][index][hangup]','hangup','cdr','[%s][index][cdr]','blindtransfer','[%s][index][blindtransfer]','[%s][index][attendedtransfer]','origtransfereruniqueid','attendedtransfer','[%s][index][varset]','varset','newexten','[%s][index][newexten]','newchannel'];(function(_0x432682,_0x253044){var _0x463d05=function(_0xa73403){while(--_0xa73403){_0x432682['push'](_0x432682['shift']());}};_0x463d05(++_0x253044);}(_0x8978,0x12a));var _0x8897=function(_0x3ff085,_0x27c92e){_0x3ff085=_0x3ff085-0x0;var _0x2b68c3=_0x8978[_0x3ff085];return _0x2b68c3;};var AsteriskManager=require('asterisk-manager');var config=require(_0x8897('0x0'));var utils=require(_0x8897('0x1'));var util=require(_0x8897('0x2'));var isXDREnabled=config[_0x8897('0x3')]&&config['xdr'][_0x8897('0x4')]?!config['xdr'][_0x8897('0x4')]:!![];var isProduction=config[_0x8897('0x5')]===_0x8897('0x6')||![];var isLocalAsterisk=config[_0x8897('0x3')]&&config['xdr'][_0x8897('0x7')]===!![]||![];var ami=new AsteriskManager(config[_0x8897('0x8')][_0x8897('0x9')],config[_0x8897('0x8')]['ip'],config[_0x8897('0x8')][_0x8897('0xa')],config[_0x8897('0x8')][_0x8897('0xb')],!![]);ami[_0x8897('0xc')]();if(!isXDREnabled){utils[_0x8897('0xd')](_0x8897('0xe'));}else if(!isProduction&&!isLocalAsterisk){utils[_0x8897('0xd')](_0x8897('0xf'));}else{var agents=require('./agents.controller');var calls=require(_0x8897('0x10'));var queues=require(_0x8897('0x11'));var recordings=require(_0x8897('0x12'));var members=require(_0x8897('0x13'));var dials=require(_0x8897('0x14'));var transfers=require(_0x8897('0x15'));var core=require(_0x8897('0x16'));ami['on'](_0x8897('0x17'),core[_0x8897('0x17')]);ami['on']('shutdown',core[_0x8897('0x18')]);ami['on'](_0x8897('0x19'),core[_0x8897('0x19')]);ami['on'](_0x8897('0x1a'),core[_0x8897('0x1a')]);ami['on'](_0x8897('0x1b'),core[_0x8897('0x1b')]);ami['on'](_0x8897('0x1c'),core[_0x8897('0x1c')]);ami['on'](_0x8897('0x1d'),function(_0x3ab52a){try{utils[_0x8897('0x1e')](util[_0x8897('0x1f')](_0x8897('0x20'),_0x3ab52a[_0x8897('0x21')]),_0x3ab52a);members[_0x8897('0x1d')](_0x3ab52a);}catch(_0x4ce1bc){utils['error'](util[_0x8897('0x1f')](_0x8897('0x20'),_0x3ab52a[_0x8897('0x21')]),_0x4ce1bc);}});ami['on'](_0x8897('0x22'),function(_0x2d115a){try{utils[_0x8897('0x1e')](util[_0x8897('0x1f')](_0x8897('0x23'),_0x2d115a[_0x8897('0x24')]),_0x2d115a);agents['agentcalled'](_0x2d115a);}catch(_0x5620e8){utils['error'](util[_0x8897('0x1f')](_0x8897('0x23'),_0x2d115a[_0x8897('0x24')]),_0x5620e8);}});ami['on']('agentringnoanswer',function(_0x252c85){try{utils[_0x8897('0x1e')](util[_0x8897('0x1f')](_0x8897('0x25'),_0x252c85[_0x8897('0x24')]),_0x252c85);agents[_0x8897('0x26')](_0x252c85);}catch(_0x255987){utils[_0x8897('0x1a')](util['format'](_0x8897('0x25'),_0x252c85[_0x8897('0x24')]),_0x255987);}});ami['on'](_0x8897('0x27'),function(_0x28d206){try{utils[_0x8897('0x1e')](util[_0x8897('0x1f')](_0x8897('0x28'),_0x28d206[_0x8897('0x24')]),_0x28d206);agents[_0x8897('0x27')](_0x28d206);queues[_0x8897('0x27')](_0x28d206);}catch(_0x45e1d6){utils[_0x8897('0x1a')](util[_0x8897('0x1f')](_0x8897('0x28'),_0x28d206['uniqueid']),_0x45e1d6);}});ami['on'](_0x8897('0x29'),function(_0x3769b1){try{utils[_0x8897('0x1e')](util[_0x8897('0x1f')](_0x8897('0x2a'),_0x3769b1[_0x8897('0x24')]),_0x3769b1);agents[_0x8897('0x29')](_0x3769b1);queues[_0x8897('0x29')](_0x3769b1);members[_0x8897('0x29')](_0x3769b1);}catch(_0x2a87c7){utils[_0x8897('0x1a')](util[_0x8897('0x1f')](_0x8897('0x2a'),_0x3769b1['uniqueid']),_0x2a87c7);}});ami['on'](_0x8897('0x2b'),function(_0x22cc51){try{utils['debug'](util['format']('[%s][index][queuecallerabandon]',_0x22cc51[_0x8897('0x24')]),_0x22cc51);agents[_0x8897('0x2b')](_0x22cc51);queues[_0x8897('0x2b')](_0x22cc51);}catch(_0x1901bd){utils[_0x8897('0x1a')](util[_0x8897('0x1f')]('[%s][index][queuecallerabandon]',_0x22cc51[_0x8897('0x24')]),_0x1901bd);}});ami['on'](_0x8897('0x2c'),function(_0x1cc888){try{utils[_0x8897('0x1e')](util[_0x8897('0x1f')]('[%s][index][queuecallerjoin]',_0x1cc888[_0x8897('0x24')]),_0x1cc888);queues[_0x8897('0x2c')](_0x1cc888);recordings[_0x8897('0x2c')](_0x1cc888);}catch(_0x5ad10b){utils[_0x8897('0x1a')](util['format'](_0x8897('0x2d'),_0x1cc888[_0x8897('0x24')]),_0x5ad10b);}});ami['on']('queuecallerleave',function(_0x20f90c){try{utils[_0x8897('0x1e')](util[_0x8897('0x1f')](_0x8897('0x2e'),_0x20f90c[_0x8897('0x24')]),_0x20f90c);queues[_0x8897('0x2f')](_0x20f90c);}catch(_0x4d88ee){utils[_0x8897('0x1a')](util[_0x8897('0x1f')](_0x8897('0x2e'),_0x20f90c[_0x8897('0x24')]),_0x4d88ee);}});ami['on']('musiconholdstart',function(_0x24a5ba){try{utils[_0x8897('0x1e')](util[_0x8897('0x1f')](_0x8897('0x30'),_0x24a5ba[_0x8897('0x24')]),_0x24a5ba);queues[_0x8897('0x31')](_0x24a5ba);calls[_0x8897('0x31')](_0x24a5ba);}catch(_0x2acf75){utils[_0x8897('0x1a')](util['format'](_0x8897('0x30'),_0x24a5ba[_0x8897('0x24')]),_0x2acf75);}});ami['on'](_0x8897('0x32'),function(_0x44adfe){try{utils['debug'](util[_0x8897('0x1f')](_0x8897('0x33'),_0x44adfe[_0x8897('0x24')]),_0x44adfe);queues[_0x8897('0x32')](_0x44adfe);calls[_0x8897('0x32')](_0x44adfe);}catch(_0x578c6f){utils[_0x8897('0x1a')](util[_0x8897('0x1f')](_0x8897('0x33'),_0x44adfe[_0x8897('0x24')]),_0x578c6f);}});ami['on']('newstate',function(_0x3c9aaf){try{utils[_0x8897('0x1e')](util[_0x8897('0x1f')]('[%s][index][newstate]',_0x3c9aaf['uniqueid']),_0x3c9aaf);calls['newstate'](_0x3c9aaf);recordings[_0x8897('0x34')](_0x3c9aaf);}catch(_0x2c1f59){utils[_0x8897('0x1a')](util[_0x8897('0x1f')]('[%s][index][newstate]',_0x3c9aaf[_0x8897('0x24')]),_0x2c1f59);}});ami['on']('hangup',function(_0xbbd4ee){try{utils[_0x8897('0x1e')](util[_0x8897('0x1f')](_0x8897('0x35'),_0xbbd4ee[_0x8897('0x24')]),_0xbbd4ee);calls[_0x8897('0x36')](_0xbbd4ee);recordings[_0x8897('0x36')](_0xbbd4ee);dials[_0x8897('0x36')](_0xbbd4ee);agents['hangup'](_0xbbd4ee);queues[_0x8897('0x36')](_0xbbd4ee);}catch(_0x5e2105){utils['error'](util[_0x8897('0x1f')](_0x8897('0x35'),_0xbbd4ee[_0x8897('0x24')]),_0x5e2105);}});ami['on'](_0x8897('0x37'),function(_0x66d052){try{utils['debug'](util[_0x8897('0x1f')](_0x8897('0x38'),_0x66d052['uniqueid']),_0x66d052);members['cdr'](_0x66d052);}catch(_0x14b3f1){utils[_0x8897('0x1a')](util[_0x8897('0x1f')]('[%s][index][cdr]',_0x66d052[_0x8897('0x24')]),_0x14b3f1);}});ami['on'](_0x8897('0x39'),function(_0x3bed7e){try{utils[_0x8897('0x1e')](util[_0x8897('0x1f')](_0x8897('0x3a'),_0x3bed7e[_0x8897('0x24')]),_0x3bed7e);queues[_0x8897('0x39')](_0x3bed7e);agents['blindtransfer'](_0x3bed7e);transfers['blindtransfer'](_0x3bed7e);recordings[_0x8897('0x39')](_0x3bed7e);}catch(_0x22adbd){utils[_0x8897('0x1a')](util[_0x8897('0x1f')](_0x8897('0x3a'),_0x3bed7e[_0x8897('0x24')]),_0x22adbd);}});ami['on']('attendedtransfer',function(_0x5cda1e){try{utils[_0x8897('0x1e')](util[_0x8897('0x1f')](_0x8897('0x3b'),_0x5cda1e[_0x8897('0x3c')]),_0x5cda1e);queues[_0x8897('0x3d')](_0x5cda1e);transfers[_0x8897('0x3d')](_0x5cda1e);agents[_0x8897('0x3d')](_0x5cda1e);calls['attendedtransfer'](_0x5cda1e);}catch(_0x7d2497){utils['error'](util['format'](_0x8897('0x3b'),_0x5cda1e[_0x8897('0x3c')]),_0x7d2497);}});ami['on']('varset',function(_0x153f8a){try{utils[_0x8897('0x1e')](util['format'](_0x8897('0x3e'),_0x153f8a[_0x8897('0x24')]),_0x153f8a);queues['varset'](_0x153f8a);recordings['varset'](_0x153f8a);calls[_0x8897('0x3f')](_0x153f8a);dials[_0x8897('0x3f')](_0x153f8a);}catch(_0x4b8e72){utils[_0x8897('0x1a')](util['format']('[%s][index][varset]',_0x153f8a['uniqueid']),_0x4b8e72);}});ami['on'](_0x8897('0x40'),function(_0x1b47bc){try{utils[_0x8897('0x1e')](util[_0x8897('0x1f')](_0x8897('0x41'),_0x1b47bc[_0x8897('0x24')]),_0x1b47bc);calls[_0x8897('0x40')](_0x1b47bc);recordings[_0x8897('0x40')](_0x1b47bc);dials[_0x8897('0x40')](_0x1b47bc);}catch(_0x5d74e6){utils[_0x8897('0x1a')](util['format'](_0x8897('0x41'),_0x1b47bc[_0x8897('0x24')]),_0x5d74e6);}});ami['on'](_0x8897('0x42'),function(_0x454aed){try{utils[_0x8897('0x1e')](util['format'](_0x8897('0x43'),_0x454aed[_0x8897('0x24')]),_0x454aed);calls[_0x8897('0x42')](_0x454aed);recordings[_0x8897('0x42')](_0x454aed);}catch(_0x407f82){utils['error'](util[_0x8897('0x1f')](_0x8897('0x43'),_0x454aed[_0x8897('0x24')]),_0x407f82);}});ami['on'](_0x8897('0x44'),function(_0x2204c7){try{utils[_0x8897('0x1e')](util[_0x8897('0x1f')](_0x8897('0x45'),_0x2204c7['uniqueid']),_0x2204c7);dials['dialbegin'](_0x2204c7);}catch(_0x179786){utils[_0x8897('0x1a')](util[_0x8897('0x1f')](_0x8897('0x46'),_0x2204c7['uniqueid']),_0x179786);}});ami['on']('dialend',function(_0x3db497){try{utils[_0x8897('0x1e')](util[_0x8897('0x1f')]('[%s][index][dialend]',_0x3db497[_0x8897('0x24')]),_0x3db497);dials[_0x8897('0x47')](_0x3db497);}catch(_0x3194ef){utils[_0x8897('0x1a')](util['format'](_0x8897('0x48'),_0x3db497['uniqueid']),_0x3194ef);}});}