1a0954727bdb6328200d2ccf15de949e4e97ca17
[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 _0x4481=['[%s][index][hangup]','hangup','cdr','[%s][index][cdr]','blindtransfer','[%s][index][blindtransfer]','attendedtransfer','[%s][index][attendedtransfer]','origtransfereruniqueid','varset','newexten','[%s][index][newexten]','newchannel','[%s][index][newchannel]','[%s][index][dialbegin]','[%s]dialbegin','dialend','[%s][index][dialend]','asterisk-manager','../../config/environment','./utils','xdr','disabled','production','local','asterisk','port','password','XDR\x20DISABLED','info','Asterisk\x20disabled\x20on\x20localhost','./agents.controller','./calls.controller','./members.controller','./dials.controller','./core.controller','connect','shutdown','fullybooted','error','close','managerevent','devicestatechange','[%s][index][devicestatechange]','device','format','agentcalled','[%s][index][agentcalled]','uniqueid','[%s][index][agentringnoanswer]','agentringnoanswer','agentconnect','debug','[%s][index][agentconnect]','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','[%s][index][queuecallerabandon]','[%s][index][queuecallerjoin]','queuecallerjoin','queuecallerleave','[%s][index][queuecallerleave]','musiconholdstart','musiconholdstop','[%s][index][musiconholdstop]','newstate','[%s][index][newstate]'];(function(_0x21a9d9,_0x4d5ac8){var _0x46adce=function(_0xfdd336){while(--_0xfdd336){_0x21a9d9['push'](_0x21a9d9['shift']());}};_0x46adce(++_0x4d5ac8);}(_0x4481,0xdb));var _0x1448=function(_0xe92df4,_0x3a122f){_0xe92df4=_0xe92df4-0x0;var _0x5927af=_0x4481[_0xe92df4];return _0x5927af;};var AsteriskManager=require(_0x1448('0x0'));var config=require(_0x1448('0x1'));var utils=require(_0x1448('0x2'));var util=require('util');var isXDREnabled=config[_0x1448('0x3')]&&config[_0x1448('0x3')][_0x1448('0x4')]?!config[_0x1448('0x3')][_0x1448('0x4')]:!![];var isProduction=config['env']===_0x1448('0x5')||![];var isLocalAsterisk=config[_0x1448('0x3')]&&config['xdr'][_0x1448('0x6')]===!![]||![];var ami=new AsteriskManager(config[_0x1448('0x7')][_0x1448('0x8')],config[_0x1448('0x7')]['ip'],config[_0x1448('0x7')]['username'],config[_0x1448('0x7')][_0x1448('0x9')],!![]);ami['keepConnected']();if(!isXDREnabled){utils['info'](_0x1448('0xa'));}else if(!isProduction&&!isLocalAsterisk){utils[_0x1448('0xb')](_0x1448('0xc'));}else{var agents=require(_0x1448('0xd'));var calls=require(_0x1448('0xe'));var queues=require('./queues.controller');var recordings=require('./recordings.controller');var members=require(_0x1448('0xf'));var dials=require(_0x1448('0x10'));var transfers=require('./transfers.controller');var core=require(_0x1448('0x11'));ami['on'](_0x1448('0x12'),core[_0x1448('0x12')]);ami['on'](_0x1448('0x13'),core['shutdown']);ami['on'](_0x1448('0x14'),core[_0x1448('0x14')]);ami['on'](_0x1448('0x15'),core[_0x1448('0x15')]);ami['on'](_0x1448('0x16'),core[_0x1448('0x16')]);ami['on'](_0x1448('0x17'),core[_0x1448('0x17')]);ami['on'](_0x1448('0x18'),function(_0x1a1fa5){try{utils['debug'](util['format'](_0x1448('0x19'),_0x1a1fa5[_0x1448('0x1a')]),_0x1a1fa5);members[_0x1448('0x18')](_0x1a1fa5);}catch(_0x7faad5){utils[_0x1448('0x15')](util[_0x1448('0x1b')](_0x1448('0x19'),_0x1a1fa5[_0x1448('0x1a')]),_0x7faad5);}});ami['on'](_0x1448('0x1c'),function(_0x2778af){try{utils['debug'](util['format'](_0x1448('0x1d'),_0x2778af[_0x1448('0x1e')]),_0x2778af);agents[_0x1448('0x1c')](_0x2778af);}catch(_0x36a323){utils[_0x1448('0x15')](util['format'](_0x1448('0x1d'),_0x2778af[_0x1448('0x1e')]),_0x36a323);}});ami['on']('agentringnoanswer',function(_0x371f58){try{utils['debug'](util[_0x1448('0x1b')](_0x1448('0x1f'),_0x371f58[_0x1448('0x1e')]),_0x371f58);agents[_0x1448('0x20')](_0x371f58);}catch(_0x3843c0){utils[_0x1448('0x15')](util[_0x1448('0x1b')](_0x1448('0x1f'),_0x371f58['uniqueid']),_0x3843c0);}});ami['on'](_0x1448('0x21'),function(_0xe53c94){try{utils[_0x1448('0x22')](util[_0x1448('0x1b')](_0x1448('0x23'),_0xe53c94[_0x1448('0x1e')]),_0xe53c94);agents[_0x1448('0x21')](_0xe53c94);queues[_0x1448('0x21')](_0xe53c94);}catch(_0x3925b7){utils[_0x1448('0x15')](util[_0x1448('0x1b')]('[%s][index][agentconnect]',_0xe53c94[_0x1448('0x1e')]),_0x3925b7);}});ami['on'](_0x1448('0x24'),function(_0x7067c){try{utils[_0x1448('0x22')](util[_0x1448('0x1b')](_0x1448('0x25'),_0x7067c[_0x1448('0x1e')]),_0x7067c);agents[_0x1448('0x24')](_0x7067c);queues[_0x1448('0x24')](_0x7067c);members[_0x1448('0x24')](_0x7067c);}catch(_0x14a695){utils[_0x1448('0x15')](util['format'](_0x1448('0x25'),_0x7067c[_0x1448('0x1e')]),_0x14a695);}});ami['on'](_0x1448('0x26'),function(_0x5022ed){try{utils[_0x1448('0x22')](util[_0x1448('0x1b')](_0x1448('0x27'),_0x5022ed[_0x1448('0x1e')]),_0x5022ed);agents[_0x1448('0x26')](_0x5022ed);queues['queuecallerabandon'](_0x5022ed);}catch(_0x3aa407){utils[_0x1448('0x15')](util[_0x1448('0x1b')](_0x1448('0x27'),_0x5022ed[_0x1448('0x1e')]),_0x3aa407);}});ami['on']('queuecallerjoin',function(_0x22f831){try{utils[_0x1448('0x22')](util['format'](_0x1448('0x28'),_0x22f831[_0x1448('0x1e')]),_0x22f831);queues['queuecallerjoin'](_0x22f831);recordings[_0x1448('0x29')](_0x22f831);}catch(_0xae82ee){utils[_0x1448('0x15')](util['format'](_0x1448('0x28'),_0x22f831[_0x1448('0x1e')]),_0xae82ee);}});ami['on'](_0x1448('0x2a'),function(_0x3f891a){try{utils[_0x1448('0x22')](util[_0x1448('0x1b')](_0x1448('0x2b'),_0x3f891a[_0x1448('0x1e')]),_0x3f891a);queues[_0x1448('0x2a')](_0x3f891a);}catch(_0x1b2d7c){utils[_0x1448('0x15')](util[_0x1448('0x1b')](_0x1448('0x2b'),_0x3f891a[_0x1448('0x1e')]),_0x1b2d7c);}});ami['on'](_0x1448('0x2c'),function(_0x82e972){try{utils[_0x1448('0x22')](util[_0x1448('0x1b')]('[%s][index][musiconholdstart]',_0x82e972[_0x1448('0x1e')]),_0x82e972);queues[_0x1448('0x2c')](_0x82e972);calls[_0x1448('0x2c')](_0x82e972);}catch(_0x249e14){utils['error'](util[_0x1448('0x1b')]('[%s][index][musiconholdstart]',_0x82e972[_0x1448('0x1e')]),_0x249e14);}});ami['on']('musiconholdstop',function(_0x4d24fe){try{utils[_0x1448('0x22')](util[_0x1448('0x1b')]('[%s][index][musiconholdstop]',_0x4d24fe[_0x1448('0x1e')]),_0x4d24fe);queues[_0x1448('0x2d')](_0x4d24fe);calls[_0x1448('0x2d')](_0x4d24fe);}catch(_0x5487e3){utils['error'](util[_0x1448('0x1b')](_0x1448('0x2e'),_0x4d24fe[_0x1448('0x1e')]),_0x5487e3);}});ami['on'](_0x1448('0x2f'),function(_0x38ae30){try{utils['debug'](util['format'](_0x1448('0x30'),_0x38ae30['uniqueid']),_0x38ae30);calls[_0x1448('0x2f')](_0x38ae30);recordings[_0x1448('0x2f')](_0x38ae30);}catch(_0x5d6154){utils[_0x1448('0x15')](util[_0x1448('0x1b')](_0x1448('0x30'),_0x38ae30[_0x1448('0x1e')]),_0x5d6154);}});ami['on']('hangup',function(_0x21edf8){try{utils['debug'](util['format'](_0x1448('0x31'),_0x21edf8[_0x1448('0x1e')]),_0x21edf8);calls[_0x1448('0x32')](_0x21edf8);recordings[_0x1448('0x32')](_0x21edf8);dials[_0x1448('0x32')](_0x21edf8);agents[_0x1448('0x32')](_0x21edf8);queues[_0x1448('0x32')](_0x21edf8);}catch(_0x502caa){utils['error'](util['format']('[%s][index][hangup]',_0x21edf8[_0x1448('0x1e')]),_0x502caa);}});ami['on'](_0x1448('0x33'),function(_0x3d4c10){try{utils[_0x1448('0x22')](util[_0x1448('0x1b')](_0x1448('0x34'),_0x3d4c10['uniqueid']),_0x3d4c10);members[_0x1448('0x33')](_0x3d4c10);}catch(_0x126eb4){utils['error'](util[_0x1448('0x1b')]('[%s][index][cdr]',_0x3d4c10['uniqueid']),_0x126eb4);}});ami['on']('blindtransfer',function(_0x2d53af){try{utils['debug'](util[_0x1448('0x1b')]('[%s][index][blindtransfer]',_0x2d53af[_0x1448('0x1e')]),_0x2d53af);queues[_0x1448('0x35')](_0x2d53af);agents[_0x1448('0x35')](_0x2d53af);transfers[_0x1448('0x35')](_0x2d53af);recordings[_0x1448('0x35')](_0x2d53af);}catch(_0x4062c9){utils['error'](util[_0x1448('0x1b')](_0x1448('0x36'),_0x2d53af[_0x1448('0x1e')]),_0x4062c9);}});ami['on'](_0x1448('0x37'),function(_0xd9578a){try{utils[_0x1448('0x22')](util[_0x1448('0x1b')](_0x1448('0x38'),_0xd9578a[_0x1448('0x39')]),_0xd9578a);queues[_0x1448('0x37')](_0xd9578a);transfers[_0x1448('0x37')](_0xd9578a);agents[_0x1448('0x37')](_0xd9578a);calls[_0x1448('0x37')](_0xd9578a);}catch(_0x30cf8c){utils[_0x1448('0x15')](util[_0x1448('0x1b')](_0x1448('0x38'),_0xd9578a[_0x1448('0x39')]),_0x30cf8c);}});ami['on'](_0x1448('0x3a'),function(_0xcd4ec2){try{utils[_0x1448('0x22')](util[_0x1448('0x1b')]('[%s][index][varset]',_0xcd4ec2['uniqueid']),_0xcd4ec2);queues[_0x1448('0x3a')](_0xcd4ec2);recordings[_0x1448('0x3a')](_0xcd4ec2);calls[_0x1448('0x3a')](_0xcd4ec2);dials[_0x1448('0x3a')](_0xcd4ec2);}catch(_0x3aa9c8){utils[_0x1448('0x15')](util['format']('[%s][index][varset]',_0xcd4ec2['uniqueid']),_0x3aa9c8);}});ami['on'](_0x1448('0x3b'),function(_0x19dad7){try{utils[_0x1448('0x22')](util[_0x1448('0x1b')](_0x1448('0x3c'),_0x19dad7[_0x1448('0x1e')]),_0x19dad7);calls[_0x1448('0x3b')](_0x19dad7);recordings[_0x1448('0x3b')](_0x19dad7);dials[_0x1448('0x3b')](_0x19dad7);}catch(_0x42cc83){utils['error'](util[_0x1448('0x1b')]('[%s][index][newexten]',_0x19dad7[_0x1448('0x1e')]),_0x42cc83);}});ami['on'](_0x1448('0x3d'),function(_0x780602){try{utils[_0x1448('0x22')](util['format'](_0x1448('0x3e'),_0x780602['uniqueid']),_0x780602);calls[_0x1448('0x3d')](_0x780602);recordings[_0x1448('0x3d')](_0x780602);}catch(_0x2f154c){utils['error'](util[_0x1448('0x1b')](_0x1448('0x3e'),_0x780602[_0x1448('0x1e')]),_0x2f154c);}});ami['on']('dialbegin',function(_0x22dd76){try{utils[_0x1448('0x22')](util[_0x1448('0x1b')](_0x1448('0x3f'),_0x22dd76['uniqueid']),_0x22dd76);dials['dialbegin'](_0x22dd76);}catch(_0x187053){utils[_0x1448('0x15')](util[_0x1448('0x1b')](_0x1448('0x40'),_0x22dd76[_0x1448('0x1e')]),_0x187053);}});ami['on'](_0x1448('0x41'),function(_0x220d83){try{utils[_0x1448('0x22')](util[_0x1448('0x1b')](_0x1448('0x42'),_0x220d83['uniqueid']),_0x220d83);dials[_0x1448('0x41')](_0x220d83);}catch(_0x1c6189){utils['error'](util[_0x1448('0x1b')](_0x1448('0x42'),_0x220d83[_0x1448('0x1e')]),_0x1c6189);}});}