0160b7eb60bb0615064bc58362d55de91a6683b9
[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 _0x50c7=['./queues.controller','./recordings.controller','./members.controller','./transfers.controller','./core.controller','connect','fullybooted','error','close','devicestatechange','debug','format','[%s][index][devicestatechange]','device','[%s][index][agentcalled]','agentcalled','uniqueid','agentringnoanswer','[%s][index][agentringnoanswer]','agentconnect','[%s][index][agentconnect]','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','[%s][index][queuecallerabandon]','queuecallerjoin','[%s][index][queuecallerjoin]','[%s][index][queuecallerleave]','queuecallerleave','musiconholdstart','[%s][index][musiconholdstart]','musiconholdstop','[%s][index][musiconholdstop]','newstate','[%s][index][newstate]','hangup','[%s][index][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','[%s][index][dialbegin]','[%s]dialbegin','[%s][index][dialend]','../../config/environment','./utils','xdr','disabled','env','production','local','asterisk','port','keepConnected','info','XDR\x20DISABLED','Asterisk\x20disabled\x20on\x20localhost','./agents.controller'];(function(_0x1cd75d,_0x391ee0){var _0x3d7cfd=function(_0x4471e1){while(--_0x4471e1){_0x1cd75d['push'](_0x1cd75d['shift']());}};_0x3d7cfd(++_0x391ee0);}(_0x50c7,0x7a));var _0x750c=function(_0x56f9b5,_0x34ef88){_0x56f9b5=_0x56f9b5-0x0;var _0x47afe4=_0x50c7[_0x56f9b5];return _0x47afe4;};var AsteriskManager=require('asterisk-manager');var config=require(_0x750c('0x0'));var utils=require(_0x750c('0x1'));var util=require('util');var isXDREnabled=config[_0x750c('0x2')]&&config[_0x750c('0x2')][_0x750c('0x3')]?!config[_0x750c('0x2')][_0x750c('0x3')]:!![];var isProduction=config[_0x750c('0x4')]===_0x750c('0x5')||![];var isLocalAsterisk=config[_0x750c('0x2')]&&config['xdr'][_0x750c('0x6')]===!![]||![];var ami=new AsteriskManager(config[_0x750c('0x7')][_0x750c('0x8')],config[_0x750c('0x7')]['ip'],config[_0x750c('0x7')]['username'],config['asterisk']['password'],!![]);ami[_0x750c('0x9')]();if(!isXDREnabled){utils[_0x750c('0xa')](_0x750c('0xb'));}else if(!isProduction&&!isLocalAsterisk){utils['info'](_0x750c('0xc'));}else{var agents=require(_0x750c('0xd'));var calls=require('./calls.controller');var queues=require(_0x750c('0xe'));var recordings=require(_0x750c('0xf'));var members=require(_0x750c('0x10'));var dials=require('./dials.controller');var transfers=require(_0x750c('0x11'));var core=require(_0x750c('0x12'));ami['on'](_0x750c('0x13'),core['connect']);ami['on']('shutdown',core['shutdown']);ami['on'](_0x750c('0x14'),core[_0x750c('0x14')]);ami['on'](_0x750c('0x15'),core[_0x750c('0x15')]);ami['on'](_0x750c('0x16'),core['close']);ami['on']('managerevent',core['managerevent']);ami['on'](_0x750c('0x17'),function(_0x2fa245){try{utils[_0x750c('0x18')](util[_0x750c('0x19')](_0x750c('0x1a'),_0x2fa245[_0x750c('0x1b')]),_0x2fa245);members[_0x750c('0x17')](_0x2fa245);}catch(_0x20d49e){utils[_0x750c('0x15')](util['format'](_0x750c('0x1a'),_0x2fa245[_0x750c('0x1b')]),_0x20d49e);}});ami['on']('agentcalled',function(_0x135d84){try{utils[_0x750c('0x18')](util[_0x750c('0x19')](_0x750c('0x1c'),_0x135d84['uniqueid']),_0x135d84);agents[_0x750c('0x1d')](_0x135d84);}catch(_0x292da5){utils[_0x750c('0x15')](util['format'](_0x750c('0x1c'),_0x135d84[_0x750c('0x1e')]),_0x292da5);}});ami['on'](_0x750c('0x1f'),function(_0x58ad1e){try{utils['debug'](util['format']('[%s][index][agentringnoanswer]',_0x58ad1e[_0x750c('0x1e')]),_0x58ad1e);agents[_0x750c('0x1f')](_0x58ad1e);}catch(_0x4979eb){utils['error'](util['format'](_0x750c('0x20'),_0x58ad1e[_0x750c('0x1e')]),_0x4979eb);}});ami['on'](_0x750c('0x21'),function(_0x487cf0){try{utils['debug'](util[_0x750c('0x19')](_0x750c('0x22'),_0x487cf0['uniqueid']),_0x487cf0);agents[_0x750c('0x21')](_0x487cf0);queues[_0x750c('0x21')](_0x487cf0);}catch(_0xd78347){utils[_0x750c('0x15')](util[_0x750c('0x19')](_0x750c('0x22'),_0x487cf0[_0x750c('0x1e')]),_0xd78347);}});ami['on'](_0x750c('0x23'),function(_0x29f27c){try{utils[_0x750c('0x18')](util[_0x750c('0x19')]('[%s][index][agentcomplete]',_0x29f27c[_0x750c('0x1e')]),_0x29f27c);agents['agentcomplete'](_0x29f27c);queues['agentcomplete'](_0x29f27c);members['agentcomplete'](_0x29f27c);}catch(_0x32bc3d){utils[_0x750c('0x15')](util[_0x750c('0x19')](_0x750c('0x24'),_0x29f27c['uniqueid']),_0x32bc3d);}});ami['on'](_0x750c('0x25'),function(_0x450f8b){try{utils[_0x750c('0x18')](util['format'](_0x750c('0x26'),_0x450f8b[_0x750c('0x1e')]),_0x450f8b);agents[_0x750c('0x25')](_0x450f8b);queues['queuecallerabandon'](_0x450f8b);}catch(_0x3054e0){utils[_0x750c('0x15')](util['format'](_0x750c('0x26'),_0x450f8b['uniqueid']),_0x3054e0);}});ami['on'](_0x750c('0x27'),function(_0x5231a4){try{utils[_0x750c('0x18')](util['format'](_0x750c('0x28'),_0x5231a4[_0x750c('0x1e')]),_0x5231a4);queues[_0x750c('0x27')](_0x5231a4);recordings[_0x750c('0x27')](_0x5231a4);}catch(_0x429cbb){utils[_0x750c('0x15')](util[_0x750c('0x19')](_0x750c('0x28'),_0x5231a4['uniqueid']),_0x429cbb);}});ami['on']('queuecallerleave',function(_0x4ce559){try{utils[_0x750c('0x18')](util['format'](_0x750c('0x29'),_0x4ce559['uniqueid']),_0x4ce559);queues[_0x750c('0x2a')](_0x4ce559);}catch(_0x28e4c8){utils['error'](util[_0x750c('0x19')](_0x750c('0x29'),_0x4ce559['uniqueid']),_0x28e4c8);}});ami['on']('musiconholdstart',function(_0x5c68f1){try{utils[_0x750c('0x18')](util[_0x750c('0x19')]('[%s][index][musiconholdstart]',_0x5c68f1[_0x750c('0x1e')]),_0x5c68f1);queues[_0x750c('0x2b')](_0x5c68f1);calls[_0x750c('0x2b')](_0x5c68f1);}catch(_0x494b7c){utils[_0x750c('0x15')](util[_0x750c('0x19')](_0x750c('0x2c'),_0x5c68f1['uniqueid']),_0x494b7c);}});ami['on'](_0x750c('0x2d'),function(_0xbee42a){try{utils[_0x750c('0x18')](util[_0x750c('0x19')](_0x750c('0x2e'),_0xbee42a[_0x750c('0x1e')]),_0xbee42a);queues[_0x750c('0x2d')](_0xbee42a);calls['musiconholdstop'](_0xbee42a);}catch(_0x13d86f){utils['error'](util['format'](_0x750c('0x2e'),_0xbee42a[_0x750c('0x1e')]),_0x13d86f);}});ami['on'](_0x750c('0x2f'),function(_0x3db720){try{utils[_0x750c('0x18')](util[_0x750c('0x19')]('[%s][index][newstate]',_0x3db720[_0x750c('0x1e')]),_0x3db720);calls[_0x750c('0x2f')](_0x3db720);recordings[_0x750c('0x2f')](_0x3db720);}catch(_0x88bfa0){utils[_0x750c('0x15')](util[_0x750c('0x19')](_0x750c('0x30'),_0x3db720['uniqueid']),_0x88bfa0);}});ami['on'](_0x750c('0x31'),function(_0x23f700){try{utils[_0x750c('0x18')](util[_0x750c('0x19')](_0x750c('0x32'),_0x23f700[_0x750c('0x1e')]),_0x23f700);calls['hangup'](_0x23f700);recordings[_0x750c('0x31')](_0x23f700);dials['hangup'](_0x23f700);agents[_0x750c('0x31')](_0x23f700);queues[_0x750c('0x31')](_0x23f700);}catch(_0x3177d3){utils[_0x750c('0x15')](util[_0x750c('0x19')](_0x750c('0x32'),_0x23f700[_0x750c('0x1e')]),_0x3177d3);}});ami['on'](_0x750c('0x33'),function(_0x8e14f0){try{utils[_0x750c('0x18')](util[_0x750c('0x19')](_0x750c('0x34'),_0x8e14f0[_0x750c('0x1e')]),_0x8e14f0);members['cdr'](_0x8e14f0);}catch(_0x5420de){utils[_0x750c('0x15')](util[_0x750c('0x19')](_0x750c('0x34'),_0x8e14f0[_0x750c('0x1e')]),_0x5420de);}});ami['on'](_0x750c('0x35'),function(_0x3c7d85){try{utils[_0x750c('0x18')](util[_0x750c('0x19')](_0x750c('0x36'),_0x3c7d85['uniqueid']),_0x3c7d85);queues[_0x750c('0x35')](_0x3c7d85);agents['blindtransfer'](_0x3c7d85);transfers[_0x750c('0x35')](_0x3c7d85);}catch(_0x47bc42){utils[_0x750c('0x15')](util[_0x750c('0x19')](_0x750c('0x36'),_0x3c7d85[_0x750c('0x1e')]),_0x47bc42);}});ami['on'](_0x750c('0x37'),function(_0x165333){try{utils[_0x750c('0x18')](util[_0x750c('0x19')](_0x750c('0x38'),_0x165333['origtransfereruniqueid']),_0x165333);queues['attendedtransfer'](_0x165333);transfers[_0x750c('0x37')](_0x165333);agents[_0x750c('0x37')](_0x165333);calls[_0x750c('0x37')](_0x165333);}catch(_0x42a4dd){utils[_0x750c('0x15')](util['format'](_0x750c('0x38'),_0x165333[_0x750c('0x39')]),_0x42a4dd);}});ami['on'](_0x750c('0x3a'),function(_0x5291cd){try{utils['debug'](util[_0x750c('0x19')](_0x750c('0x3b'),_0x5291cd['uniqueid']),_0x5291cd);queues[_0x750c('0x3a')](_0x5291cd);recordings[_0x750c('0x3a')](_0x5291cd);calls['varset'](_0x5291cd);dials[_0x750c('0x3a')](_0x5291cd);}catch(_0x455873){utils[_0x750c('0x15')](util[_0x750c('0x19')](_0x750c('0x3b'),_0x5291cd[_0x750c('0x1e')]),_0x455873);}});ami['on'](_0x750c('0x3c'),function(_0x23cea0){try{utils[_0x750c('0x18')](util[_0x750c('0x19')](_0x750c('0x3d'),_0x23cea0[_0x750c('0x1e')]),_0x23cea0);calls['newexten'](_0x23cea0);recordings['newexten'](_0x23cea0);dials[_0x750c('0x3c')](_0x23cea0);}catch(_0x35a886){utils[_0x750c('0x15')](util[_0x750c('0x19')](_0x750c('0x3d'),_0x23cea0[_0x750c('0x1e')]),_0x35a886);}});ami['on'](_0x750c('0x3e'),function(_0x2c24aa){try{utils[_0x750c('0x18')](util[_0x750c('0x19')](_0x750c('0x3f'),_0x2c24aa[_0x750c('0x1e')]),_0x2c24aa);calls[_0x750c('0x3e')](_0x2c24aa);recordings[_0x750c('0x3e')](_0x2c24aa);}catch(_0x1eb7f7){utils['error'](util[_0x750c('0x19')](_0x750c('0x3f'),_0x2c24aa[_0x750c('0x1e')]),_0x1eb7f7);}});ami['on'](_0x750c('0x40'),function(_0xd3d44b){try{utils[_0x750c('0x18')](util[_0x750c('0x19')](_0x750c('0x41'),_0xd3d44b['uniqueid']),_0xd3d44b);dials[_0x750c('0x40')](_0xd3d44b);}catch(_0x5bae80){utils[_0x750c('0x15')](util['format'](_0x750c('0x42'),_0xd3d44b[_0x750c('0x1e')]),_0x5bae80);}});ami['on']('dialend',function(_0x22400a){try{utils[_0x750c('0x18')](util[_0x750c('0x19')](_0x750c('0x43'),_0x22400a[_0x750c('0x1e')]),_0x22400a);dials['dialend'](_0x22400a);}catch(_0x4664c6){utils[_0x750c('0x15')](util['format'](_0x750c('0x43'),_0x22400a['uniqueid']),_0x4664c6);}});}