Built motion from commit da617fac.|2.6.6
[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 _0x2675=['./dials.controller','./transfers.controller','./core.controller','connect','shutdown','fullybooted','close','managerevent','devicestatechange','[%s][index][devicestatechange]','device','error','debug','format','[%s][index][agentcalled]','uniqueid','agentringnoanswer','[%s][index][agentringnoanswer]','agentconnect','[%s][index][agentconnect]','agentcomplete','[%s][index][queuecallerabandon]','[%s][index][queuecallerjoin]','queuecallerjoin','queuecallerleave','[%s][index][queuecallerleave]','musiconholdstart','[%s][index][musiconholdstart]','musiconholdstop','[%s][index][musiconholdstop]','newstate','[%s][index][newstate]','[%s][index][hangup]','hangup','cdr','[%s][index][cdr]','blindtransfer','[%s][index][blindtransfer]','[%s][index][attendedtransfer]','origtransfereruniqueid','attendedtransfer','varset','[%s][index][varset]','newexten','[%s][index][newexten]','newchannel','[%s][index][newchannel]','dialbegin','[%s][index][dialbegin]','dialend','[%s][index][dialend]','asterisk-manager','./utils','util','xdr','disabled','env','production','local','asterisk','port','username','password','keepConnected','XDR\x20DISABLED','Asterisk\x20disabled\x20on\x20localhost','./calls.controller','./queues.controller','./recordings.controller','./members.controller'];(function(_0x4dd943,_0x5f379e){var _0x4e06ee=function(_0x2c1747){while(--_0x2c1747){_0x4dd943['push'](_0x4dd943['shift']());}};_0x4e06ee(++_0x5f379e);}(_0x2675,0x14b));var _0x5267=function(_0x9b711f,_0xe1b9dd){_0x9b711f=_0x9b711f-0x0;var _0x28608d=_0x2675[_0x9b711f];return _0x28608d;};var AsteriskManager=require(_0x5267('0x0'));var config=require('../../config/environment');var utils=require(_0x5267('0x1'));var util=require(_0x5267('0x2'));var isXDREnabled=config['xdr']&&config[_0x5267('0x3')][_0x5267('0x4')]?!config['xdr']['disabled']:!![];var isProduction=config[_0x5267('0x5')]===_0x5267('0x6')||![];var isLocalAsterisk=config[_0x5267('0x3')]&&config[_0x5267('0x3')][_0x5267('0x7')]===!![]||![];var ami=new AsteriskManager(config[_0x5267('0x8')][_0x5267('0x9')],config[_0x5267('0x8')]['ip'],config[_0x5267('0x8')][_0x5267('0xa')],config[_0x5267('0x8')][_0x5267('0xb')],!![]);ami[_0x5267('0xc')]();if(!isXDREnabled){utils['info'](_0x5267('0xd'));}else if(!isProduction&&!isLocalAsterisk){utils['info'](_0x5267('0xe'));}else{var agents=require('./agents.controller');var calls=require(_0x5267('0xf'));var queues=require(_0x5267('0x10'));var recordings=require(_0x5267('0x11'));var members=require(_0x5267('0x12'));var dials=require(_0x5267('0x13'));var transfers=require(_0x5267('0x14'));var core=require(_0x5267('0x15'));ami['on'](_0x5267('0x16'),core[_0x5267('0x16')]);ami['on']('shutdown',core[_0x5267('0x17')]);ami['on'](_0x5267('0x18'),core[_0x5267('0x18')]);ami['on']('error',core['error']);ami['on']('close',core[_0x5267('0x19')]);ami['on'](_0x5267('0x1a'),core[_0x5267('0x1a')]);ami['on'](_0x5267('0x1b'),function(_0x5091dd){try{utils['debug'](util['format'](_0x5267('0x1c'),_0x5091dd[_0x5267('0x1d')]),_0x5091dd);members[_0x5267('0x1b')](_0x5091dd);}catch(_0x5c8855){utils[_0x5267('0x1e')](util['format']('[%s][index][devicestatechange]',_0x5091dd[_0x5267('0x1d')]),_0x5c8855);}});ami['on']('agentcalled',function(_0x57ecbf){try{utils[_0x5267('0x1f')](util[_0x5267('0x20')](_0x5267('0x21'),_0x57ecbf[_0x5267('0x22')]),_0x57ecbf);agents['agentcalled'](_0x57ecbf);}catch(_0x3cf95b){utils[_0x5267('0x1e')](util[_0x5267('0x20')](_0x5267('0x21'),_0x57ecbf[_0x5267('0x22')]),_0x3cf95b);}});ami['on'](_0x5267('0x23'),function(_0x13e951){try{utils[_0x5267('0x1f')](util[_0x5267('0x20')](_0x5267('0x24'),_0x13e951[_0x5267('0x22')]),_0x13e951);agents[_0x5267('0x23')](_0x13e951);}catch(_0x51a946){utils[_0x5267('0x1e')](util[_0x5267('0x20')](_0x5267('0x24'),_0x13e951[_0x5267('0x22')]),_0x51a946);}});ami['on'](_0x5267('0x25'),function(_0xdc519b){try{utils['debug'](util['format']('[%s][index][agentconnect]',_0xdc519b[_0x5267('0x22')]),_0xdc519b);agents['agentconnect'](_0xdc519b);queues[_0x5267('0x25')](_0xdc519b);}catch(_0x24c884){utils['error'](util[_0x5267('0x20')](_0x5267('0x26'),_0xdc519b[_0x5267('0x22')]),_0x24c884);}});ami['on'](_0x5267('0x27'),function(_0xce8a0a){try{utils['debug'](util[_0x5267('0x20')]('[%s][index][agentcomplete]',_0xce8a0a[_0x5267('0x22')]),_0xce8a0a);agents[_0x5267('0x27')](_0xce8a0a);queues[_0x5267('0x27')](_0xce8a0a);members[_0x5267('0x27')](_0xce8a0a);}catch(_0x4dce95){utils[_0x5267('0x1e')](util[_0x5267('0x20')]('[%s][index][agentcomplete]',_0xce8a0a[_0x5267('0x22')]),_0x4dce95);}});ami['on']('queuecallerabandon',function(_0x163e8b){try{utils[_0x5267('0x1f')](util[_0x5267('0x20')](_0x5267('0x28'),_0x163e8b[_0x5267('0x22')]),_0x163e8b);agents['queuecallerabandon'](_0x163e8b);queues['queuecallerabandon'](_0x163e8b);}catch(_0x461dfc){utils['error'](util[_0x5267('0x20')]('[%s][index][queuecallerabandon]',_0x163e8b['uniqueid']),_0x461dfc);}});ami['on']('queuecallerjoin',function(_0x4fbd02){try{utils[_0x5267('0x1f')](util[_0x5267('0x20')](_0x5267('0x29'),_0x4fbd02[_0x5267('0x22')]),_0x4fbd02);queues['queuecallerjoin'](_0x4fbd02);recordings[_0x5267('0x2a')](_0x4fbd02);}catch(_0x319af7){utils['error'](util[_0x5267('0x20')]('[%s][index][queuecallerjoin]',_0x4fbd02[_0x5267('0x22')]),_0x319af7);}});ami['on'](_0x5267('0x2b'),function(_0x1050a9){try{utils[_0x5267('0x1f')](util[_0x5267('0x20')](_0x5267('0x2c'),_0x1050a9[_0x5267('0x22')]),_0x1050a9);queues[_0x5267('0x2b')](_0x1050a9);}catch(_0x2fc479){utils[_0x5267('0x1e')](util[_0x5267('0x20')]('[%s][index][queuecallerleave]',_0x1050a9[_0x5267('0x22')]),_0x2fc479);}});ami['on'](_0x5267('0x2d'),function(_0x31a90a){try{utils[_0x5267('0x1f')](util[_0x5267('0x20')](_0x5267('0x2e'),_0x31a90a[_0x5267('0x22')]),_0x31a90a);queues[_0x5267('0x2d')](_0x31a90a);calls[_0x5267('0x2d')](_0x31a90a);}catch(_0x3b2b36){utils[_0x5267('0x1e')](util[_0x5267('0x20')]('[%s][index][musiconholdstart]',_0x31a90a[_0x5267('0x22')]),_0x3b2b36);}});ami['on'](_0x5267('0x2f'),function(_0x461b09){try{utils[_0x5267('0x1f')](util[_0x5267('0x20')]('[%s][index][musiconholdstop]',_0x461b09[_0x5267('0x22')]),_0x461b09);queues[_0x5267('0x2f')](_0x461b09);calls[_0x5267('0x2f')](_0x461b09);}catch(_0x5be7c8){utils['error'](util[_0x5267('0x20')](_0x5267('0x30'),_0x461b09[_0x5267('0x22')]),_0x5be7c8);}});ami['on'](_0x5267('0x31'),function(_0x31bf70){try{utils[_0x5267('0x1f')](util[_0x5267('0x20')]('[%s][index][newstate]',_0x31bf70[_0x5267('0x22')]),_0x31bf70);calls[_0x5267('0x31')](_0x31bf70);recordings[_0x5267('0x31')](_0x31bf70);}catch(_0x5cdc98){utils[_0x5267('0x1e')](util[_0x5267('0x20')](_0x5267('0x32'),_0x31bf70[_0x5267('0x22')]),_0x5cdc98);}});ami['on']('hangup',function(_0x5a323f){try{utils[_0x5267('0x1f')](util[_0x5267('0x20')](_0x5267('0x33'),_0x5a323f[_0x5267('0x22')]),_0x5a323f);calls[_0x5267('0x34')](_0x5a323f);recordings[_0x5267('0x34')](_0x5a323f);dials['hangup'](_0x5a323f);agents[_0x5267('0x34')](_0x5a323f);queues[_0x5267('0x34')](_0x5a323f);}catch(_0x313fef){utils[_0x5267('0x1e')](util[_0x5267('0x20')]('[%s][index][hangup]',_0x5a323f[_0x5267('0x22')]),_0x313fef);}});ami['on'](_0x5267('0x35'),function(_0xf0865d){try{utils[_0x5267('0x1f')](util['format']('[%s][index][cdr]',_0xf0865d['uniqueid']),_0xf0865d);members['cdr'](_0xf0865d);}catch(_0x1ba042){utils[_0x5267('0x1e')](util['format'](_0x5267('0x36'),_0xf0865d['uniqueid']),_0x1ba042);}});ami['on'](_0x5267('0x37'),function(_0x27859){try{utils[_0x5267('0x1f')](util['format'](_0x5267('0x38'),_0x27859['uniqueid']),_0x27859);queues[_0x5267('0x37')](_0x27859);agents[_0x5267('0x37')](_0x27859);transfers['blindtransfer'](_0x27859);recordings[_0x5267('0x37')](_0x27859);}catch(_0x43f40e){utils[_0x5267('0x1e')](util[_0x5267('0x20')](_0x5267('0x38'),_0x27859[_0x5267('0x22')]),_0x43f40e);}});ami['on']('attendedtransfer',function(_0x499963){try{utils[_0x5267('0x1f')](util['format'](_0x5267('0x39'),_0x499963[_0x5267('0x3a')]),_0x499963);queues[_0x5267('0x3b')](_0x499963);transfers[_0x5267('0x3b')](_0x499963);agents['attendedtransfer'](_0x499963);calls[_0x5267('0x3b')](_0x499963);}catch(_0x440845){utils[_0x5267('0x1e')](util['format'](_0x5267('0x39'),_0x499963[_0x5267('0x3a')]),_0x440845);}});ami['on'](_0x5267('0x3c'),function(_0x329e2a){try{utils[_0x5267('0x1f')](util[_0x5267('0x20')](_0x5267('0x3d'),_0x329e2a[_0x5267('0x22')]),_0x329e2a);queues[_0x5267('0x3c')](_0x329e2a);recordings[_0x5267('0x3c')](_0x329e2a);calls[_0x5267('0x3c')](_0x329e2a);dials[_0x5267('0x3c')](_0x329e2a);}catch(_0x41b23f){utils[_0x5267('0x1e')](util[_0x5267('0x20')](_0x5267('0x3d'),_0x329e2a[_0x5267('0x22')]),_0x41b23f);}});ami['on'](_0x5267('0x3e'),function(_0x77a431){try{utils[_0x5267('0x1f')](util['format'](_0x5267('0x3f'),_0x77a431['uniqueid']),_0x77a431);calls[_0x5267('0x3e')](_0x77a431);recordings['newexten'](_0x77a431);dials['newexten'](_0x77a431);}catch(_0x5cc372){utils[_0x5267('0x1e')](util[_0x5267('0x20')]('[%s][index][newexten]',_0x77a431[_0x5267('0x22')]),_0x5cc372);}});ami['on'](_0x5267('0x40'),function(_0xca2ed1){try{utils[_0x5267('0x1f')](util[_0x5267('0x20')](_0x5267('0x41'),_0xca2ed1['uniqueid']),_0xca2ed1);calls[_0x5267('0x40')](_0xca2ed1);recordings[_0x5267('0x40')](_0xca2ed1);}catch(_0x55cb10){utils['error'](util['format']('[%s][index][newchannel]',_0xca2ed1['uniqueid']),_0x55cb10);}});ami['on'](_0x5267('0x42'),function(_0x40332e){try{utils[_0x5267('0x1f')](util[_0x5267('0x20')](_0x5267('0x43'),_0x40332e['uniqueid']),_0x40332e);dials[_0x5267('0x42')](_0x40332e);}catch(_0x4cb1b9){utils[_0x5267('0x1e')](util[_0x5267('0x20')]('[%s]dialbegin',_0x40332e[_0x5267('0x22')]),_0x4cb1b9);}});ami['on'](_0x5267('0x44'),function(_0xc939c8){try{utils[_0x5267('0x1f')](util[_0x5267('0x20')]('[%s][index][dialend]',_0xc939c8['uniqueid']),_0xc939c8);dials[_0x5267('0x44')](_0xc939c8);}catch(_0x23961e){utils[_0x5267('0x1e')](util[_0x5267('0x20')](_0x5267('0x45'),_0xc939c8[_0x5267('0x22')]),_0x23961e);}});}