7143138119186b65dabee717dfbf4b12d859a086
[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 _0x231b=['agentconnect','[%s][index][agentconnect]','agentcomplete','queuecallerabandon','[%s][index][queuecallerabandon]','queuecallerjoin','[%s][index][queuecallerjoin]','[%s][index][queuecallerleave]','queuecallerleave','musiconholdstart','[%s][index][musiconholdstart]','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]','[%s][index][newchannel]','newchannel','dialbegin','[%s][index][dialbegin]','dialend','[%s][index][dialend]','asterisk-manager','./utils','xdr','production','local','asterisk','port','username','password','keepConnected','info','XDR\x20DISABLED','Asterisk\x20disabled\x20on\x20localhost','./agents.controller','./queues.controller','./recordings.controller','./core.controller','connect','shutdown','fullybooted','error','close','managerevent','format','[%s][index][devicestatechange]','device','agentcalled','uniqueid','[%s][index][agentcalled]','debug','[%s][index][agentringnoanswer]','agentringnoanswer'];(function(_0x18daa2,_0x5600fe){var _0x515b87=function(_0x3b18a9){while(--_0x3b18a9){_0x18daa2['push'](_0x18daa2['shift']());}};_0x515b87(++_0x5600fe);}(_0x231b,0x166));var _0xb231=function(_0x1b6186,_0x1ec7f2){_0x1b6186=_0x1b6186-0x0;var _0x186121=_0x231b[_0x1b6186];return _0x186121;};var AsteriskManager=require(_0xb231('0x0'));var config=require('../../config/environment');var utils=require(_0xb231('0x1'));var util=require('util');var isXDREnabled=config['xdr']&&config[_0xb231('0x2')]['disabled']?!config[_0xb231('0x2')]['disabled']:!![];var isProduction=config['env']===_0xb231('0x3')||![];var isLocalAsterisk=config[_0xb231('0x2')]&&config[_0xb231('0x2')][_0xb231('0x4')]===!![]||![];var ami=new AsteriskManager(config[_0xb231('0x5')][_0xb231('0x6')],config['asterisk']['ip'],config['asterisk'][_0xb231('0x7')],config[_0xb231('0x5')][_0xb231('0x8')],!![]);ami[_0xb231('0x9')]();if(!isXDREnabled){utils[_0xb231('0xa')](_0xb231('0xb'));}else if(!isProduction&&!isLocalAsterisk){utils[_0xb231('0xa')](_0xb231('0xc'));}else{var agents=require(_0xb231('0xd'));var calls=require('./calls.controller');var queues=require(_0xb231('0xe'));var recordings=require(_0xb231('0xf'));var members=require('./members.controller');var dials=require('./dials.controller');var transfers=require('./transfers.controller');var core=require(_0xb231('0x10'));ami['on'](_0xb231('0x11'),core[_0xb231('0x11')]);ami['on'](_0xb231('0x12'),core[_0xb231('0x12')]);ami['on'](_0xb231('0x13'),core[_0xb231('0x13')]);ami['on'](_0xb231('0x14'),core[_0xb231('0x14')]);ami['on'](_0xb231('0x15'),core[_0xb231('0x15')]);ami['on'](_0xb231('0x16'),core[_0xb231('0x16')]);ami['on']('devicestatechange',function(_0xa2f3c6){try{utils['debug'](util[_0xb231('0x17')](_0xb231('0x18'),_0xa2f3c6[_0xb231('0x19')]),_0xa2f3c6);members['devicestatechange'](_0xa2f3c6);}catch(_0x4d23cd){utils['error'](util[_0xb231('0x17')](_0xb231('0x18'),_0xa2f3c6[_0xb231('0x19')]),_0x4d23cd);}});ami['on'](_0xb231('0x1a'),function(_0x2bee6d){try{utils['debug'](util['format']('[%s][index][agentcalled]',_0x2bee6d[_0xb231('0x1b')]),_0x2bee6d);agents[_0xb231('0x1a')](_0x2bee6d);}catch(_0x5e6dde){utils[_0xb231('0x14')](util[_0xb231('0x17')](_0xb231('0x1c'),_0x2bee6d[_0xb231('0x1b')]),_0x5e6dde);}});ami['on']('agentringnoanswer',function(_0x56b51e){try{utils[_0xb231('0x1d')](util[_0xb231('0x17')](_0xb231('0x1e'),_0x56b51e[_0xb231('0x1b')]),_0x56b51e);agents[_0xb231('0x1f')](_0x56b51e);}catch(_0x1eb8ae){utils[_0xb231('0x14')](util[_0xb231('0x17')](_0xb231('0x1e'),_0x56b51e[_0xb231('0x1b')]),_0x1eb8ae);}});ami['on'](_0xb231('0x20'),function(_0x150a21){try{utils[_0xb231('0x1d')](util[_0xb231('0x17')](_0xb231('0x21'),_0x150a21[_0xb231('0x1b')]),_0x150a21);agents['agentconnect'](_0x150a21);queues[_0xb231('0x20')](_0x150a21);}catch(_0x50ff20){utils[_0xb231('0x14')](util[_0xb231('0x17')]('[%s][index][agentconnect]',_0x150a21[_0xb231('0x1b')]),_0x50ff20);}});ami['on'](_0xb231('0x22'),function(_0x2f31d9){try{utils['debug'](util[_0xb231('0x17')]('[%s][index][agentcomplete]',_0x2f31d9[_0xb231('0x1b')]),_0x2f31d9);agents[_0xb231('0x22')](_0x2f31d9);queues[_0xb231('0x22')](_0x2f31d9);members[_0xb231('0x22')](_0x2f31d9);}catch(_0x3227de){utils[_0xb231('0x14')](util['format']('[%s][index][agentcomplete]',_0x2f31d9[_0xb231('0x1b')]),_0x3227de);}});ami['on'](_0xb231('0x23'),function(_0x177fd2){try{utils['debug'](util[_0xb231('0x17')]('[%s][index][queuecallerabandon]',_0x177fd2[_0xb231('0x1b')]),_0x177fd2);agents[_0xb231('0x23')](_0x177fd2);queues[_0xb231('0x23')](_0x177fd2);}catch(_0x3043ec){utils[_0xb231('0x14')](util['format'](_0xb231('0x24'),_0x177fd2[_0xb231('0x1b')]),_0x3043ec);}});ami['on'](_0xb231('0x25'),function(_0x597e49){try{utils[_0xb231('0x1d')](util[_0xb231('0x17')](_0xb231('0x26'),_0x597e49[_0xb231('0x1b')]),_0x597e49);queues['queuecallerjoin'](_0x597e49);recordings[_0xb231('0x25')](_0x597e49);}catch(_0x28c23f){utils[_0xb231('0x14')](util[_0xb231('0x17')]('[%s][index][queuecallerjoin]',_0x597e49['uniqueid']),_0x28c23f);}});ami['on']('queuecallerleave',function(_0x1db9c7){try{utils[_0xb231('0x1d')](util['format'](_0xb231('0x27'),_0x1db9c7[_0xb231('0x1b')]),_0x1db9c7);queues[_0xb231('0x28')](_0x1db9c7);}catch(_0xd748f0){utils[_0xb231('0x14')](util[_0xb231('0x17')]('[%s][index][queuecallerleave]',_0x1db9c7[_0xb231('0x1b')]),_0xd748f0);}});ami['on'](_0xb231('0x29'),function(_0x194a4a){try{utils[_0xb231('0x1d')](util['format'](_0xb231('0x2a'),_0x194a4a[_0xb231('0x1b')]),_0x194a4a);queues[_0xb231('0x29')](_0x194a4a);calls[_0xb231('0x29')](_0x194a4a);}catch(_0x50b7ce){utils[_0xb231('0x14')](util[_0xb231('0x17')](_0xb231('0x2a'),_0x194a4a[_0xb231('0x1b')]),_0x50b7ce);}});ami['on'](_0xb231('0x2b'),function(_0x4ed460){try{utils[_0xb231('0x1d')](util[_0xb231('0x17')]('[%s][index][musiconholdstop]',_0x4ed460[_0xb231('0x1b')]),_0x4ed460);queues[_0xb231('0x2b')](_0x4ed460);calls['musiconholdstop'](_0x4ed460);}catch(_0x2d391c){utils[_0xb231('0x14')](util[_0xb231('0x17')]('[%s][index][musiconholdstop]',_0x4ed460['uniqueid']),_0x2d391c);}});ami['on'](_0xb231('0x2c'),function(_0x174643){try{utils[_0xb231('0x1d')](util[_0xb231('0x17')](_0xb231('0x2d'),_0x174643[_0xb231('0x1b')]),_0x174643);calls[_0xb231('0x2c')](_0x174643);recordings[_0xb231('0x2c')](_0x174643);}catch(_0x244ab4){utils[_0xb231('0x14')](util[_0xb231('0x17')]('[%s][index][newstate]',_0x174643[_0xb231('0x1b')]),_0x244ab4);}});ami['on'](_0xb231('0x2e'),function(_0x453451){try{utils['debug'](util['format']('[%s][index][hangup]',_0x453451['uniqueid']),_0x453451);calls[_0xb231('0x2e')](_0x453451);recordings[_0xb231('0x2e')](_0x453451);dials['hangup'](_0x453451);agents[_0xb231('0x2e')](_0x453451);queues['hangup'](_0x453451);}catch(_0x746c70){utils[_0xb231('0x14')](util[_0xb231('0x17')](_0xb231('0x2f'),_0x453451['uniqueid']),_0x746c70);}});ami['on'](_0xb231('0x30'),function(_0x372a1a){try{utils[_0xb231('0x1d')](util['format'](_0xb231('0x31'),_0x372a1a['uniqueid']),_0x372a1a);members[_0xb231('0x30')](_0x372a1a);}catch(_0x4c00b2){utils[_0xb231('0x14')](util[_0xb231('0x17')](_0xb231('0x31'),_0x372a1a['uniqueid']),_0x4c00b2);}});ami['on']('blindtransfer',function(_0x56f5a2){try{utils[_0xb231('0x1d')](util[_0xb231('0x17')]('[%s][index][blindtransfer]',_0x56f5a2[_0xb231('0x1b')]),_0x56f5a2);queues['blindtransfer'](_0x56f5a2);agents[_0xb231('0x32')](_0x56f5a2);transfers[_0xb231('0x32')](_0x56f5a2);}catch(_0x1da94c){utils[_0xb231('0x14')](util['format'](_0xb231('0x33'),_0x56f5a2[_0xb231('0x1b')]),_0x1da94c);}});ami['on'](_0xb231('0x34'),function(_0x26e241){try{utils[_0xb231('0x1d')](util[_0xb231('0x17')](_0xb231('0x35'),_0x26e241[_0xb231('0x36')]),_0x26e241);queues[_0xb231('0x34')](_0x26e241);transfers[_0xb231('0x34')](_0x26e241);agents[_0xb231('0x34')](_0x26e241);calls[_0xb231('0x34')](_0x26e241);}catch(_0x8005f2){utils[_0xb231('0x14')](util[_0xb231('0x17')](_0xb231('0x35'),_0x26e241[_0xb231('0x36')]),_0x8005f2);}});ami['on'](_0xb231('0x37'),function(_0x2dfcc4){try{utils['debug'](util[_0xb231('0x17')](_0xb231('0x38'),_0x2dfcc4[_0xb231('0x1b')]),_0x2dfcc4);queues[_0xb231('0x37')](_0x2dfcc4);recordings[_0xb231('0x37')](_0x2dfcc4);calls[_0xb231('0x37')](_0x2dfcc4);dials[_0xb231('0x37')](_0x2dfcc4);}catch(_0x309a67){utils[_0xb231('0x14')](util[_0xb231('0x17')](_0xb231('0x38'),_0x2dfcc4['uniqueid']),_0x309a67);}});ami['on'](_0xb231('0x39'),function(_0x2b2d66){try{utils[_0xb231('0x1d')](util[_0xb231('0x17')](_0xb231('0x3a'),_0x2b2d66[_0xb231('0x1b')]),_0x2b2d66);calls[_0xb231('0x39')](_0x2b2d66);recordings[_0xb231('0x39')](_0x2b2d66);dials['newexten'](_0x2b2d66);}catch(_0x5c69ae){utils[_0xb231('0x14')](util[_0xb231('0x17')](_0xb231('0x3a'),_0x2b2d66[_0xb231('0x1b')]),_0x5c69ae);}});ami['on']('newchannel',function(_0x1f3ab5){try{utils[_0xb231('0x1d')](util[_0xb231('0x17')](_0xb231('0x3b'),_0x1f3ab5[_0xb231('0x1b')]),_0x1f3ab5);calls[_0xb231('0x3c')](_0x1f3ab5);recordings['newchannel'](_0x1f3ab5);}catch(_0x319c7f){utils['error'](util[_0xb231('0x17')](_0xb231('0x3b'),_0x1f3ab5['uniqueid']),_0x319c7f);}});ami['on'](_0xb231('0x3d'),function(_0x5cdba3){try{utils[_0xb231('0x1d')](util['format'](_0xb231('0x3e'),_0x5cdba3['uniqueid']),_0x5cdba3);dials[_0xb231('0x3d')](_0x5cdba3);}catch(_0x2b0053){utils[_0xb231('0x14')](util[_0xb231('0x17')]('[%s]dialbegin',_0x5cdba3['uniqueid']),_0x2b0053);}});ami['on'](_0xb231('0x3f'),function(_0x589f06){try{utils[_0xb231('0x1d')](util[_0xb231('0x17')](_0xb231('0x40'),_0x589f06[_0xb231('0x1b')]),_0x589f06);dials[_0xb231('0x3f')](_0x589f06);}catch(_0x1cf744){utils[_0xb231('0x14')](util[_0xb231('0x17')](_0xb231('0x40'),_0x589f06[_0xb231('0x1b')]),_0x1cf744);}});}