Built motion from commit d1eab355.|2.6.28
[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 _0x67c5=['[%s][index][hangup]','cdr','[%s][index][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','[%s][index][dialend]','dialend','./utils','util','xdr','disabled','env','local','port','asterisk','password','info','XDR\x20DISABLED','Asterisk\x20disabled\x20on\x20localhost','./calls.controller','./queues.controller','./recordings.controller','./members.controller','./dials.controller','./transfers.controller','./core.controller','shutdown','fullybooted','error','close','managerevent','debug','device','devicestatechange','[%s][index][devicestatechange]','agentcalled','[%s][index][agentcalled]','uniqueid','format','agentringnoanswer','[%s][index][agentringnoanswer]','agentconnect','[%s][index][agentconnect]','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','[%s][index][queuecallerabandon]','queuecallerjoin','[%s][index][queuecallerjoin]','queuecallerleave','[%s][index][queuecallerleave]','musiconholdstart','[%s][index][musiconholdstart]','musiconholdstop','[%s][index][musiconholdstop]','newstate','[%s][index][newstate]','hangup'];(function(_0x176cef,_0x9b49f6){var _0x1385ea=function(_0x1803d1){while(--_0x1803d1){_0x176cef['push'](_0x176cef['shift']());}};_0x1385ea(++_0x9b49f6);}(_0x67c5,0x9f));var _0x567c=function(_0x3ca656,_0x38ef31){_0x3ca656=_0x3ca656-0x0;var _0x3b894f=_0x67c5[_0x3ca656];return _0x3b894f;};var AsteriskManager=require('asterisk-manager');var config=require('../../config/environment');var utils=require(_0x567c('0x0'));var util=require(_0x567c('0x1'));var isXDREnabled=config[_0x567c('0x2')]&&config[_0x567c('0x2')][_0x567c('0x3')]?!config[_0x567c('0x2')]['disabled']:!![];var isProduction=config[_0x567c('0x4')]==='production'||![];var isLocalAsterisk=config['xdr']&&config[_0x567c('0x2')][_0x567c('0x5')]===!![]||![];var ami=new AsteriskManager(config['asterisk'][_0x567c('0x6')],config[_0x567c('0x7')]['ip'],config[_0x567c('0x7')]['username'],config[_0x567c('0x7')][_0x567c('0x8')],!![]);ami['keepConnected']();if(!isXDREnabled){utils[_0x567c('0x9')](_0x567c('0xa'));}else if(!isProduction&&!isLocalAsterisk){utils[_0x567c('0x9')](_0x567c('0xb'));}else{var agents=require('./agents.controller');var calls=require(_0x567c('0xc'));var queues=require(_0x567c('0xd'));var recordings=require(_0x567c('0xe'));var members=require(_0x567c('0xf'));var dials=require(_0x567c('0x10'));var transfers=require(_0x567c('0x11'));var core=require(_0x567c('0x12'));ami['on']('connect',core['connect']);ami['on'](_0x567c('0x13'),core['shutdown']);ami['on'](_0x567c('0x14'),core[_0x567c('0x14')]);ami['on'](_0x567c('0x15'),core['error']);ami['on']('close',core[_0x567c('0x16')]);ami['on'](_0x567c('0x17'),core[_0x567c('0x17')]);ami['on']('devicestatechange',function(_0x597f0f){try{utils[_0x567c('0x18')](util['format']('[%s][index][devicestatechange]',_0x597f0f[_0x567c('0x19')]),_0x597f0f);members[_0x567c('0x1a')](_0x597f0f);}catch(_0x1a2007){utils[_0x567c('0x15')](util['format'](_0x567c('0x1b'),_0x597f0f['device']),_0x1a2007);}});ami['on'](_0x567c('0x1c'),function(_0x37fdf9){try{utils[_0x567c('0x18')](util['format'](_0x567c('0x1d'),_0x37fdf9[_0x567c('0x1e')]),_0x37fdf9);agents[_0x567c('0x1c')](_0x37fdf9);}catch(_0x309c4d){utils['error'](util[_0x567c('0x1f')](_0x567c('0x1d'),_0x37fdf9['uniqueid']),_0x309c4d);}});ami['on'](_0x567c('0x20'),function(_0x24a7dd){try{utils[_0x567c('0x18')](util[_0x567c('0x1f')](_0x567c('0x21'),_0x24a7dd['uniqueid']),_0x24a7dd);agents['agentringnoanswer'](_0x24a7dd);}catch(_0x4130fb){utils[_0x567c('0x15')](util['format'](_0x567c('0x21'),_0x24a7dd[_0x567c('0x1e')]),_0x4130fb);}});ami['on']('agentconnect',function(_0x42f1f1){try{utils[_0x567c('0x18')](util[_0x567c('0x1f')]('[%s][index][agentconnect]',_0x42f1f1[_0x567c('0x1e')]),_0x42f1f1);agents[_0x567c('0x22')](_0x42f1f1);queues[_0x567c('0x22')](_0x42f1f1);}catch(_0x4260c3){utils[_0x567c('0x15')](util[_0x567c('0x1f')](_0x567c('0x23'),_0x42f1f1[_0x567c('0x1e')]),_0x4260c3);}});ami['on'](_0x567c('0x24'),function(_0x16ad1a){try{utils['debug'](util[_0x567c('0x1f')](_0x567c('0x25'),_0x16ad1a[_0x567c('0x1e')]),_0x16ad1a);agents[_0x567c('0x24')](_0x16ad1a);queues[_0x567c('0x24')](_0x16ad1a);members[_0x567c('0x24')](_0x16ad1a);}catch(_0x2a566d){utils['error'](util[_0x567c('0x1f')](_0x567c('0x25'),_0x16ad1a[_0x567c('0x1e')]),_0x2a566d);}});ami['on'](_0x567c('0x26'),function(_0x4c47b3){try{utils[_0x567c('0x18')](util['format']('[%s][index][queuecallerabandon]',_0x4c47b3[_0x567c('0x1e')]),_0x4c47b3);agents[_0x567c('0x26')](_0x4c47b3);queues[_0x567c('0x26')](_0x4c47b3);}catch(_0x161298){utils[_0x567c('0x15')](util[_0x567c('0x1f')](_0x567c('0x27'),_0x4c47b3['uniqueid']),_0x161298);}});ami['on'](_0x567c('0x28'),function(_0x332e9c){try{utils[_0x567c('0x18')](util[_0x567c('0x1f')]('[%s][index][queuecallerjoin]',_0x332e9c['uniqueid']),_0x332e9c);queues[_0x567c('0x28')](_0x332e9c);recordings[_0x567c('0x28')](_0x332e9c);}catch(_0x844a9){utils[_0x567c('0x15')](util[_0x567c('0x1f')](_0x567c('0x29'),_0x332e9c[_0x567c('0x1e')]),_0x844a9);}});ami['on']('queuecallerleave',function(_0x264a12){try{utils[_0x567c('0x18')](util[_0x567c('0x1f')]('[%s][index][queuecallerleave]',_0x264a12[_0x567c('0x1e')]),_0x264a12);queues[_0x567c('0x2a')](_0x264a12);}catch(_0x44f9ac){utils[_0x567c('0x15')](util[_0x567c('0x1f')](_0x567c('0x2b'),_0x264a12['uniqueid']),_0x44f9ac);}});ami['on'](_0x567c('0x2c'),function(_0x1d3098){try{utils['debug'](util[_0x567c('0x1f')](_0x567c('0x2d'),_0x1d3098['uniqueid']),_0x1d3098);queues[_0x567c('0x2c')](_0x1d3098);calls[_0x567c('0x2c')](_0x1d3098);}catch(_0x8c6412){utils[_0x567c('0x15')](util[_0x567c('0x1f')]('[%s][index][musiconholdstart]',_0x1d3098['uniqueid']),_0x8c6412);}});ami['on'](_0x567c('0x2e'),function(_0x17776b){try{utils['debug'](util[_0x567c('0x1f')](_0x567c('0x2f'),_0x17776b[_0x567c('0x1e')]),_0x17776b);queues[_0x567c('0x2e')](_0x17776b);calls[_0x567c('0x2e')](_0x17776b);}catch(_0x1dd41a){utils[_0x567c('0x15')](util[_0x567c('0x1f')]('[%s][index][musiconholdstop]',_0x17776b[_0x567c('0x1e')]),_0x1dd41a);}});ami['on'](_0x567c('0x30'),function(_0x3a3d94){try{utils[_0x567c('0x18')](util[_0x567c('0x1f')](_0x567c('0x31'),_0x3a3d94[_0x567c('0x1e')]),_0x3a3d94);calls[_0x567c('0x30')](_0x3a3d94);recordings[_0x567c('0x30')](_0x3a3d94);}catch(_0x4ca85a){utils[_0x567c('0x15')](util[_0x567c('0x1f')](_0x567c('0x31'),_0x3a3d94[_0x567c('0x1e')]),_0x4ca85a);}});ami['on'](_0x567c('0x32'),function(_0x22158c){try{utils[_0x567c('0x18')](util[_0x567c('0x1f')](_0x567c('0x33'),_0x22158c['uniqueid']),_0x22158c);calls[_0x567c('0x32')](_0x22158c);recordings[_0x567c('0x32')](_0x22158c);dials[_0x567c('0x32')](_0x22158c);agents[_0x567c('0x32')](_0x22158c);queues[_0x567c('0x32')](_0x22158c);}catch(_0x2a09cf){utils[_0x567c('0x15')](util[_0x567c('0x1f')](_0x567c('0x33'),_0x22158c[_0x567c('0x1e')]),_0x2a09cf);}});ami['on'](_0x567c('0x34'),function(_0x5bf002){try{utils['debug'](util[_0x567c('0x1f')]('[%s][index][cdr]',_0x5bf002[_0x567c('0x1e')]),_0x5bf002);members['cdr'](_0x5bf002);}catch(_0x368f73){utils[_0x567c('0x15')](util[_0x567c('0x1f')](_0x567c('0x35'),_0x5bf002[_0x567c('0x1e')]),_0x368f73);}});ami['on']('blindtransfer',function(_0x22f090){try{utils[_0x567c('0x18')](util[_0x567c('0x1f')](_0x567c('0x36'),_0x22f090[_0x567c('0x1e')]),_0x22f090);queues['blindtransfer'](_0x22f090);agents[_0x567c('0x37')](_0x22f090);transfers[_0x567c('0x37')](_0x22f090);}catch(_0x3cb69b){utils[_0x567c('0x15')](util['format']('[%s][index][blindtransfer]',_0x22f090[_0x567c('0x1e')]),_0x3cb69b);}});ami['on'](_0x567c('0x38'),function(_0xed7e34){try{utils[_0x567c('0x18')](util[_0x567c('0x1f')](_0x567c('0x39'),_0xed7e34[_0x567c('0x3a')]),_0xed7e34);queues[_0x567c('0x38')](_0xed7e34);transfers[_0x567c('0x38')](_0xed7e34);agents[_0x567c('0x38')](_0xed7e34);calls[_0x567c('0x38')](_0xed7e34);}catch(_0x26ab7b){utils[_0x567c('0x15')](util[_0x567c('0x1f')](_0x567c('0x39'),_0xed7e34[_0x567c('0x3a')]),_0x26ab7b);}});ami['on'](_0x567c('0x3b'),function(_0x1fd5e0){try{utils[_0x567c('0x18')](util[_0x567c('0x1f')]('[%s][index][varset]',_0x1fd5e0[_0x567c('0x1e')]),_0x1fd5e0);queues[_0x567c('0x3b')](_0x1fd5e0);recordings[_0x567c('0x3b')](_0x1fd5e0);calls['varset'](_0x1fd5e0);dials[_0x567c('0x3b')](_0x1fd5e0);}catch(_0x427270){utils[_0x567c('0x15')](util['format'](_0x567c('0x3c'),_0x1fd5e0[_0x567c('0x1e')]),_0x427270);}});ami['on'](_0x567c('0x3d'),function(_0xcc4af3){try{utils[_0x567c('0x18')](util['format'](_0x567c('0x3e'),_0xcc4af3[_0x567c('0x1e')]),_0xcc4af3);calls[_0x567c('0x3d')](_0xcc4af3);recordings[_0x567c('0x3d')](_0xcc4af3);dials[_0x567c('0x3d')](_0xcc4af3);}catch(_0x75668a){utils['error'](util['format'](_0x567c('0x3e'),_0xcc4af3[_0x567c('0x1e')]),_0x75668a);}});ami['on'](_0x567c('0x3f'),function(_0x1713eb){try{utils[_0x567c('0x18')](util['format'](_0x567c('0x40'),_0x1713eb[_0x567c('0x1e')]),_0x1713eb);calls[_0x567c('0x3f')](_0x1713eb);recordings['newchannel'](_0x1713eb);}catch(_0x43a174){utils[_0x567c('0x15')](util[_0x567c('0x1f')](_0x567c('0x40'),_0x1713eb[_0x567c('0x1e')]),_0x43a174);}});ami['on'](_0x567c('0x41'),function(_0x1a955f){try{utils['debug'](util[_0x567c('0x1f')](_0x567c('0x42'),_0x1a955f[_0x567c('0x1e')]),_0x1a955f);dials[_0x567c('0x41')](_0x1a955f);}catch(_0x5a3267){utils[_0x567c('0x15')](util[_0x567c('0x1f')](_0x567c('0x43'),_0x1a955f[_0x567c('0x1e')]),_0x5a3267);}});ami['on']('dialend',function(_0x28a23f){try{utils['debug'](util[_0x567c('0x1f')](_0x567c('0x44'),_0x28a23f[_0x567c('0x1e')]),_0x28a23f);dials[_0x567c('0x45')](_0x28a23f);}catch(_0x392d02){utils[_0x567c('0x15')](util['format'](_0x567c('0x44'),_0x28a23f['uniqueid']),_0x392d02);}});}