Built motion from commit 00bf23f6.|2.6.16
[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 _0x37ed=['[%s][index][agentcalled]','uniqueid','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][newstate]','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]','dialend','asterisk-manager','util','xdr','env','local','asterisk','username','password','keepConnected','info','XDR\x20DISABLED','Asterisk\x20disabled\x20on\x20localhost','./calls.controller','./recordings.controller','./members.controller','./dials.controller','./transfers.controller','./core.controller','connect','shutdown','fullybooted','error','close','managerevent','devicestatechange','debug','format','[%s][index][devicestatechange]','agentcalled'];(function(_0x550d12,_0x5384bd){var _0x12103d=function(_0x2a9834){while(--_0x2a9834){_0x550d12['push'](_0x550d12['shift']());}};_0x12103d(++_0x5384bd);}(_0x37ed,0xf3));var _0xd37e=function(_0x3dc7dd,_0x45cd61){_0x3dc7dd=_0x3dc7dd-0x0;var _0x40bbfa=_0x37ed[_0x3dc7dd];return _0x40bbfa;};var AsteriskManager=require(_0xd37e('0x0'));var config=require('../../config/environment');var utils=require('./utils');var util=require(_0xd37e('0x1'));var isXDREnabled=config['xdr']&&config[_0xd37e('0x2')]['disabled']?!config[_0xd37e('0x2')]['disabled']:!![];var isProduction=config[_0xd37e('0x3')]==='production'||![];var isLocalAsterisk=config[_0xd37e('0x2')]&&config['xdr'][_0xd37e('0x4')]===!![]||![];var ami=new AsteriskManager(config[_0xd37e('0x5')]['port'],config[_0xd37e('0x5')]['ip'],config[_0xd37e('0x5')][_0xd37e('0x6')],config[_0xd37e('0x5')][_0xd37e('0x7')],!![]);ami[_0xd37e('0x8')]();if(!isXDREnabled){utils[_0xd37e('0x9')](_0xd37e('0xa'));}else if(!isProduction&&!isLocalAsterisk){utils[_0xd37e('0x9')](_0xd37e('0xb'));}else{var agents=require('./agents.controller');var calls=require(_0xd37e('0xc'));var queues=require('./queues.controller');var recordings=require(_0xd37e('0xd'));var members=require(_0xd37e('0xe'));var dials=require(_0xd37e('0xf'));var transfers=require(_0xd37e('0x10'));var core=require(_0xd37e('0x11'));ami['on'](_0xd37e('0x12'),core[_0xd37e('0x12')]);ami['on'](_0xd37e('0x13'),core[_0xd37e('0x13')]);ami['on'](_0xd37e('0x14'),core[_0xd37e('0x14')]);ami['on'](_0xd37e('0x15'),core[_0xd37e('0x15')]);ami['on'](_0xd37e('0x16'),core[_0xd37e('0x16')]);ami['on'](_0xd37e('0x17'),core[_0xd37e('0x17')]);ami['on'](_0xd37e('0x18'),function(_0x55a682){try{utils[_0xd37e('0x19')](util[_0xd37e('0x1a')](_0xd37e('0x1b'),_0x55a682['device']),_0x55a682);members[_0xd37e('0x18')](_0x55a682);}catch(_0x204c34){utils[_0xd37e('0x15')](util[_0xd37e('0x1a')]('[%s][index][devicestatechange]',_0x55a682['device']),_0x204c34);}});ami['on'](_0xd37e('0x1c'),function(_0x3bbc6c){try{utils[_0xd37e('0x19')](util[_0xd37e('0x1a')](_0xd37e('0x1d'),_0x3bbc6c[_0xd37e('0x1e')]),_0x3bbc6c);agents['agentcalled'](_0x3bbc6c);}catch(_0x2d6541){utils['error'](util['format'](_0xd37e('0x1d'),_0x3bbc6c[_0xd37e('0x1e')]),_0x2d6541);}});ami['on'](_0xd37e('0x1f'),function(_0x43e967){try{utils[_0xd37e('0x19')](util[_0xd37e('0x1a')](_0xd37e('0x20'),_0x43e967['uniqueid']),_0x43e967);agents[_0xd37e('0x1f')](_0x43e967);}catch(_0x14d78c){utils[_0xd37e('0x15')](util['format'](_0xd37e('0x20'),_0x43e967[_0xd37e('0x1e')]),_0x14d78c);}});ami['on'](_0xd37e('0x21'),function(_0x23bf44){try{utils['debug'](util['format'](_0xd37e('0x22'),_0x23bf44[_0xd37e('0x1e')]),_0x23bf44);agents[_0xd37e('0x21')](_0x23bf44);queues['agentconnect'](_0x23bf44);}catch(_0x530231){utils['error'](util[_0xd37e('0x1a')](_0xd37e('0x22'),_0x23bf44[_0xd37e('0x1e')]),_0x530231);}});ami['on'](_0xd37e('0x23'),function(_0x1fdf14){try{utils['debug'](util['format'](_0xd37e('0x24'),_0x1fdf14[_0xd37e('0x1e')]),_0x1fdf14);agents['agentcomplete'](_0x1fdf14);queues[_0xd37e('0x23')](_0x1fdf14);members[_0xd37e('0x23')](_0x1fdf14);}catch(_0x51adf0){utils['error'](util[_0xd37e('0x1a')](_0xd37e('0x24'),_0x1fdf14[_0xd37e('0x1e')]),_0x51adf0);}});ami['on'](_0xd37e('0x25'),function(_0x141e37){try{utils[_0xd37e('0x19')](util['format'](_0xd37e('0x26'),_0x141e37[_0xd37e('0x1e')]),_0x141e37);agents[_0xd37e('0x25')](_0x141e37);queues[_0xd37e('0x25')](_0x141e37);}catch(_0x2c6d16){utils[_0xd37e('0x15')](util[_0xd37e('0x1a')](_0xd37e('0x26'),_0x141e37[_0xd37e('0x1e')]),_0x2c6d16);}});ami['on'](_0xd37e('0x27'),function(_0x5ede85){try{utils[_0xd37e('0x19')](util[_0xd37e('0x1a')](_0xd37e('0x28'),_0x5ede85[_0xd37e('0x1e')]),_0x5ede85);queues[_0xd37e('0x27')](_0x5ede85);recordings[_0xd37e('0x27')](_0x5ede85);}catch(_0x5bfbb1){utils[_0xd37e('0x15')](util[_0xd37e('0x1a')](_0xd37e('0x28'),_0x5ede85['uniqueid']),_0x5bfbb1);}});ami['on']('queuecallerleave',function(_0x551259){try{utils['debug'](util[_0xd37e('0x1a')]('[%s][index][queuecallerleave]',_0x551259['uniqueid']),_0x551259);queues[_0xd37e('0x29')](_0x551259);}catch(_0x462d6f){utils[_0xd37e('0x15')](util['format'](_0xd37e('0x2a'),_0x551259[_0xd37e('0x1e')]),_0x462d6f);}});ami['on'](_0xd37e('0x2b'),function(_0x3b2852){try{utils[_0xd37e('0x19')](util[_0xd37e('0x1a')]('[%s][index][musiconholdstart]',_0x3b2852[_0xd37e('0x1e')]),_0x3b2852);queues[_0xd37e('0x2b')](_0x3b2852);calls[_0xd37e('0x2b')](_0x3b2852);}catch(_0x1a8c31){utils[_0xd37e('0x15')](util[_0xd37e('0x1a')](_0xd37e('0x2c'),_0x3b2852[_0xd37e('0x1e')]),_0x1a8c31);}});ami['on'](_0xd37e('0x2d'),function(_0x5670e9){try{utils[_0xd37e('0x19')](util['format']('[%s][index][musiconholdstop]',_0x5670e9[_0xd37e('0x1e')]),_0x5670e9);queues['musiconholdstop'](_0x5670e9);calls['musiconholdstop'](_0x5670e9);}catch(_0x389680){utils['error'](util[_0xd37e('0x1a')]('[%s][index][musiconholdstop]',_0x5670e9['uniqueid']),_0x389680);}});ami['on']('newstate',function(_0x33797a){try{utils[_0xd37e('0x19')](util[_0xd37e('0x1a')](_0xd37e('0x2e'),_0x33797a[_0xd37e('0x1e')]),_0x33797a);calls[_0xd37e('0x2f')](_0x33797a);recordings[_0xd37e('0x2f')](_0x33797a);}catch(_0x16f43b){utils[_0xd37e('0x15')](util[_0xd37e('0x1a')](_0xd37e('0x2e'),_0x33797a[_0xd37e('0x1e')]),_0x16f43b);}});ami['on'](_0xd37e('0x30'),function(_0x33de3e){try{utils['debug'](util[_0xd37e('0x1a')](_0xd37e('0x31'),_0x33de3e[_0xd37e('0x1e')]),_0x33de3e);calls[_0xd37e('0x30')](_0x33de3e);recordings['hangup'](_0x33de3e);dials[_0xd37e('0x30')](_0x33de3e);agents['hangup'](_0x33de3e);queues['hangup'](_0x33de3e);}catch(_0x5abb7a){utils[_0xd37e('0x15')](util[_0xd37e('0x1a')](_0xd37e('0x31'),_0x33de3e[_0xd37e('0x1e')]),_0x5abb7a);}});ami['on'](_0xd37e('0x32'),function(_0x113498){try{utils[_0xd37e('0x19')](util['format']('[%s][index][cdr]',_0x113498[_0xd37e('0x1e')]),_0x113498);members['cdr'](_0x113498);}catch(_0x109450){utils[_0xd37e('0x15')](util[_0xd37e('0x1a')](_0xd37e('0x33'),_0x113498[_0xd37e('0x1e')]),_0x109450);}});ami['on'](_0xd37e('0x34'),function(_0x457c4f){try{utils['debug'](util['format'](_0xd37e('0x35'),_0x457c4f['uniqueid']),_0x457c4f);queues[_0xd37e('0x34')](_0x457c4f);agents['blindtransfer'](_0x457c4f);transfers['blindtransfer'](_0x457c4f);recordings[_0xd37e('0x34')](_0x457c4f);}catch(_0x2c8ce6){utils['error'](util[_0xd37e('0x1a')]('[%s][index][blindtransfer]',_0x457c4f['uniqueid']),_0x2c8ce6);}});ami['on'](_0xd37e('0x36'),function(_0x16649e){try{utils[_0xd37e('0x19')](util[_0xd37e('0x1a')](_0xd37e('0x37'),_0x16649e['origtransfereruniqueid']),_0x16649e);queues[_0xd37e('0x36')](_0x16649e);transfers['attendedtransfer'](_0x16649e);agents[_0xd37e('0x36')](_0x16649e);calls[_0xd37e('0x36')](_0x16649e);}catch(_0x48383d){utils[_0xd37e('0x15')](util[_0xd37e('0x1a')]('[%s][index][attendedtransfer]',_0x16649e[_0xd37e('0x38')]),_0x48383d);}});ami['on'](_0xd37e('0x39'),function(_0x380188){try{utils[_0xd37e('0x19')](util[_0xd37e('0x1a')]('[%s][index][varset]',_0x380188[_0xd37e('0x1e')]),_0x380188);queues[_0xd37e('0x39')](_0x380188);recordings['varset'](_0x380188);calls[_0xd37e('0x39')](_0x380188);dials[_0xd37e('0x39')](_0x380188);}catch(_0x23a704){utils[_0xd37e('0x15')](util[_0xd37e('0x1a')](_0xd37e('0x3a'),_0x380188[_0xd37e('0x1e')]),_0x23a704);}});ami['on'](_0xd37e('0x3b'),function(_0x3ead3d){try{utils[_0xd37e('0x19')](util[_0xd37e('0x1a')](_0xd37e('0x3c'),_0x3ead3d[_0xd37e('0x1e')]),_0x3ead3d);calls[_0xd37e('0x3b')](_0x3ead3d);recordings[_0xd37e('0x3b')](_0x3ead3d);dials[_0xd37e('0x3b')](_0x3ead3d);}catch(_0xe31f68){utils[_0xd37e('0x15')](util[_0xd37e('0x1a')](_0xd37e('0x3c'),_0x3ead3d['uniqueid']),_0xe31f68);}});ami['on'](_0xd37e('0x3d'),function(_0x3dd5e4){try{utils[_0xd37e('0x19')](util[_0xd37e('0x1a')](_0xd37e('0x3e'),_0x3dd5e4[_0xd37e('0x1e')]),_0x3dd5e4);calls['newchannel'](_0x3dd5e4);recordings[_0xd37e('0x3d')](_0x3dd5e4);}catch(_0x3c230b){utils['error'](util['format']('[%s][index][newchannel]',_0x3dd5e4[_0xd37e('0x1e')]),_0x3c230b);}});ami['on'](_0xd37e('0x3f'),function(_0x2daf1b){try{utils[_0xd37e('0x19')](util[_0xd37e('0x1a')](_0xd37e('0x40'),_0x2daf1b[_0xd37e('0x1e')]),_0x2daf1b);dials[_0xd37e('0x3f')](_0x2daf1b);}catch(_0xd0cbb9){utils[_0xd37e('0x15')](util[_0xd37e('0x1a')](_0xd37e('0x41'),_0x2daf1b[_0xd37e('0x1e')]),_0xd0cbb9);}});ami['on']('dialend',function(_0x57a60c){try{utils[_0xd37e('0x19')](util['format'](_0xd37e('0x42'),_0x57a60c[_0xd37e('0x1e')]),_0x57a60c);dials[_0xd37e('0x43')](_0x57a60c);}catch(_0x4862c1){utils[_0xd37e('0x15')](util[_0xd37e('0x1a')]('[%s][index][dialend]',_0x57a60c['uniqueid']),_0x4862c1);}});}