dfbbc2439fded8845f2d883a5ed78bd7e3328287
[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 _0xa860=['queuecallerjoin','[%s][index][queuecallerjoin]','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]','[%s][index][dialbegin]','dialbegin','[%s]dialbegin','dialend','[%s][index][dialend]','asterisk-manager','../../config/environment','port','asterisk','password','keepConnected','xdr','info','XDR\x20DISABLED','./agents.controller','./queues.controller','./recordings.controller','./members.controller','./dials.controller','./transfers.controller','./core.controller','connect','fullybooted','error','close','managerevent','devicestatechange','debug','format','[%s][index][devicestatechange]','agentcalled','uniqueid','[%s][index][agentcalled]','agentringnoanswer','[%s][index][agentringnoanswer]','agentconnect','[%s][index][agentconnect]','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','[%s][index][queuecallerabandon]'];(function(_0x42bdad,_0x12836c){var _0x122626=function(_0x2eb29c){while(--_0x2eb29c){_0x42bdad['push'](_0x42bdad['shift']());}};_0x122626(++_0x12836c);}(_0xa860,0x19c));var _0x0a86=function(_0x71484,_0x57b68f){_0x71484=_0x71484-0x0;var _0x145ec2=_0xa860[_0x71484];return _0x145ec2;};var AsteriskManager=require(_0x0a86('0x0'));var config=require(_0x0a86('0x1'));var utils=require('./utils');var util=require('util');var ami=new AsteriskManager(config['asterisk'][_0x0a86('0x2')],config[_0x0a86('0x3')]['ip'],config[_0x0a86('0x3')]['username'],config[_0x0a86('0x3')][_0x0a86('0x4')],!![]);ami[_0x0a86('0x5')]();if(config[_0x0a86('0x6')]&&config['xdr']['disabled']){utils[_0x0a86('0x7')](_0x0a86('0x8'));}else{var agents=require(_0x0a86('0x9'));var calls=require('./calls.controller');var queues=require(_0x0a86('0xa'));var recordings=require(_0x0a86('0xb'));var members=require(_0x0a86('0xc'));var dials=require(_0x0a86('0xd'));var transfers=require(_0x0a86('0xe'));var core=require(_0x0a86('0xf'));ami['on'](_0x0a86('0x10'),core[_0x0a86('0x10')]);ami['on']('shutdown',core['shutdown']);ami['on']('fullybooted',core[_0x0a86('0x11')]);ami['on'](_0x0a86('0x12'),core[_0x0a86('0x12')]);ami['on'](_0x0a86('0x13'),core[_0x0a86('0x13')]);ami['on'](_0x0a86('0x14'),core[_0x0a86('0x14')]);ami['on'](_0x0a86('0x15'),function(_0x14b024){try{utils[_0x0a86('0x16')](util['format']('[%s][index][devicestatechange]',_0x14b024['device']),_0x14b024);members[_0x0a86('0x15')](_0x14b024);}catch(_0x541a16){utils['error'](util[_0x0a86('0x17')](_0x0a86('0x18'),_0x14b024['device']),_0x541a16);}});ami['on'](_0x0a86('0x19'),function(_0x2934a7){try{utils[_0x0a86('0x16')](util['format']('[%s][index][agentcalled]',_0x2934a7[_0x0a86('0x1a')]),_0x2934a7);agents[_0x0a86('0x19')](_0x2934a7);}catch(_0x1f34f8){utils[_0x0a86('0x12')](util[_0x0a86('0x17')](_0x0a86('0x1b'),_0x2934a7[_0x0a86('0x1a')]),_0x1f34f8);}});ami['on'](_0x0a86('0x1c'),function(_0x59807d){try{utils[_0x0a86('0x16')](util['format'](_0x0a86('0x1d'),_0x59807d[_0x0a86('0x1a')]),_0x59807d);agents[_0x0a86('0x1c')](_0x59807d);}catch(_0x387c27){utils[_0x0a86('0x12')](util[_0x0a86('0x17')]('[%s][index][agentringnoanswer]',_0x59807d[_0x0a86('0x1a')]),_0x387c27);}});ami['on'](_0x0a86('0x1e'),function(_0x17a12e){try{utils[_0x0a86('0x16')](util['format'](_0x0a86('0x1f'),_0x17a12e[_0x0a86('0x1a')]),_0x17a12e);agents[_0x0a86('0x1e')](_0x17a12e);queues[_0x0a86('0x1e')](_0x17a12e);}catch(_0x51637e){utils[_0x0a86('0x12')](util[_0x0a86('0x17')](_0x0a86('0x1f'),_0x17a12e[_0x0a86('0x1a')]),_0x51637e);}});ami['on'](_0x0a86('0x20'),function(_0x73a246){try{utils[_0x0a86('0x16')](util[_0x0a86('0x17')](_0x0a86('0x21'),_0x73a246['uniqueid']),_0x73a246);agents[_0x0a86('0x20')](_0x73a246);queues[_0x0a86('0x20')](_0x73a246);members['agentcomplete'](_0x73a246);}catch(_0x3d3525){utils['error'](util[_0x0a86('0x17')]('[%s][index][agentcomplete]',_0x73a246[_0x0a86('0x1a')]),_0x3d3525);}});ami['on'](_0x0a86('0x22'),function(_0x879680){try{utils[_0x0a86('0x16')](util[_0x0a86('0x17')](_0x0a86('0x23'),_0x879680[_0x0a86('0x1a')]),_0x879680);agents[_0x0a86('0x22')](_0x879680);queues[_0x0a86('0x22')](_0x879680);}catch(_0x15fdd5){utils[_0x0a86('0x12')](util[_0x0a86('0x17')]('[%s][index][queuecallerabandon]',_0x879680[_0x0a86('0x1a')]),_0x15fdd5);}});ami['on'](_0x0a86('0x24'),function(_0x33a3df){try{utils[_0x0a86('0x16')](util[_0x0a86('0x17')](_0x0a86('0x25'),_0x33a3df[_0x0a86('0x1a')]),_0x33a3df);queues[_0x0a86('0x24')](_0x33a3df);recordings['queuecallerjoin'](_0x33a3df);}catch(_0x527511){utils[_0x0a86('0x12')](util[_0x0a86('0x17')]('[%s][index][queuecallerjoin]',_0x33a3df[_0x0a86('0x1a')]),_0x527511);}});ami['on']('queuecallerleave',function(_0x30dd5a){try{utils['debug'](util[_0x0a86('0x17')]('[%s][index][queuecallerleave]',_0x30dd5a[_0x0a86('0x1a')]),_0x30dd5a);queues['queuecallerleave'](_0x30dd5a);}catch(_0x4a88d1){utils[_0x0a86('0x12')](util[_0x0a86('0x17')]('[%s][index][queuecallerleave]',_0x30dd5a[_0x0a86('0x1a')]),_0x4a88d1);}});ami['on'](_0x0a86('0x26'),function(_0x5e2166){try{utils[_0x0a86('0x16')](util[_0x0a86('0x17')](_0x0a86('0x27'),_0x5e2166[_0x0a86('0x1a')]),_0x5e2166);queues['musiconholdstart'](_0x5e2166);calls[_0x0a86('0x26')](_0x5e2166);}catch(_0x167c55){utils['error'](util[_0x0a86('0x17')]('[%s][index][musiconholdstart]',_0x5e2166[_0x0a86('0x1a')]),_0x167c55);}});ami['on'](_0x0a86('0x28'),function(_0x74fec2){try{utils['debug'](util['format']('[%s][index][musiconholdstop]',_0x74fec2['uniqueid']),_0x74fec2);queues[_0x0a86('0x28')](_0x74fec2);calls['musiconholdstop'](_0x74fec2);}catch(_0xac2816){utils[_0x0a86('0x12')](util[_0x0a86('0x17')](_0x0a86('0x29'),_0x74fec2['uniqueid']),_0xac2816);}});ami['on'](_0x0a86('0x2a'),function(_0x19c71a){try{utils['debug'](util[_0x0a86('0x17')](_0x0a86('0x2b'),_0x19c71a['uniqueid']),_0x19c71a);calls['newstate'](_0x19c71a);recordings[_0x0a86('0x2a')](_0x19c71a);}catch(_0x552338){utils[_0x0a86('0x12')](util[_0x0a86('0x17')]('[%s][index][newstate]',_0x19c71a[_0x0a86('0x1a')]),_0x552338);}});ami['on']('hangup',function(_0x32463b){try{utils['debug'](util[_0x0a86('0x17')](_0x0a86('0x2c'),_0x32463b[_0x0a86('0x1a')]),_0x32463b);calls['hangup'](_0x32463b);recordings[_0x0a86('0x2d')](_0x32463b);dials[_0x0a86('0x2d')](_0x32463b);agents['hangup'](_0x32463b);queues[_0x0a86('0x2d')](_0x32463b);}catch(_0x4755b6){utils[_0x0a86('0x12')](util['format'](_0x0a86('0x2c'),_0x32463b['uniqueid']),_0x4755b6);}});ami['on'](_0x0a86('0x2e'),function(_0x7a633){try{utils[_0x0a86('0x16')](util['format'](_0x0a86('0x2f'),_0x7a633[_0x0a86('0x1a')]),_0x7a633);members['cdr'](_0x7a633);}catch(_0x1ba198){utils[_0x0a86('0x12')](util['format'](_0x0a86('0x2f'),_0x7a633[_0x0a86('0x1a')]),_0x1ba198);}});ami['on'](_0x0a86('0x30'),function(_0x45779c){try{utils[_0x0a86('0x16')](util[_0x0a86('0x17')](_0x0a86('0x31'),_0x45779c[_0x0a86('0x1a')]),_0x45779c);queues[_0x0a86('0x30')](_0x45779c);agents[_0x0a86('0x30')](_0x45779c);transfers['blindtransfer'](_0x45779c);}catch(_0xc2cf15){utils['error'](util['format'](_0x0a86('0x31'),_0x45779c['uniqueid']),_0xc2cf15);}});ami['on']('attendedtransfer',function(_0x1138dd){try{utils['debug'](util[_0x0a86('0x17')](_0x0a86('0x32'),_0x1138dd[_0x0a86('0x33')]),_0x1138dd);queues[_0x0a86('0x34')](_0x1138dd);transfers[_0x0a86('0x34')](_0x1138dd);agents['attendedtransfer'](_0x1138dd);calls[_0x0a86('0x34')](_0x1138dd);}catch(_0x34f5a6){utils[_0x0a86('0x12')](util[_0x0a86('0x17')](_0x0a86('0x32'),_0x1138dd[_0x0a86('0x33')]),_0x34f5a6);}});ami['on'](_0x0a86('0x35'),function(_0x502e3f){try{utils[_0x0a86('0x16')](util[_0x0a86('0x17')](_0x0a86('0x36'),_0x502e3f['uniqueid']),_0x502e3f);queues[_0x0a86('0x35')](_0x502e3f);recordings[_0x0a86('0x35')](_0x502e3f);calls[_0x0a86('0x35')](_0x502e3f);dials[_0x0a86('0x35')](_0x502e3f);}catch(_0x30c911){utils[_0x0a86('0x12')](util[_0x0a86('0x17')]('[%s][index][varset]',_0x502e3f[_0x0a86('0x1a')]),_0x30c911);}});ami['on'](_0x0a86('0x37'),function(_0x4068f7){try{utils[_0x0a86('0x16')](util[_0x0a86('0x17')]('[%s][index][newexten]',_0x4068f7[_0x0a86('0x1a')]),_0x4068f7);calls[_0x0a86('0x37')](_0x4068f7);recordings['newexten'](_0x4068f7);dials[_0x0a86('0x37')](_0x4068f7);}catch(_0x3c1094){utils[_0x0a86('0x12')](util[_0x0a86('0x17')](_0x0a86('0x38'),_0x4068f7[_0x0a86('0x1a')]),_0x3c1094);}});ami['on'](_0x0a86('0x39'),function(_0x20aef7){try{utils['debug'](util[_0x0a86('0x17')](_0x0a86('0x3a'),_0x20aef7[_0x0a86('0x1a')]),_0x20aef7);calls['newchannel'](_0x20aef7);recordings[_0x0a86('0x39')](_0x20aef7);}catch(_0x56b12d){utils[_0x0a86('0x12')](util[_0x0a86('0x17')](_0x0a86('0x3a'),_0x20aef7[_0x0a86('0x1a')]),_0x56b12d);}});ami['on']('dialbegin',function(_0x5134b2){try{utils['debug'](util[_0x0a86('0x17')](_0x0a86('0x3b'),_0x5134b2[_0x0a86('0x1a')]),_0x5134b2);dials[_0x0a86('0x3c')](_0x5134b2);}catch(_0x2394b6){utils['error'](util['format'](_0x0a86('0x3d'),_0x5134b2[_0x0a86('0x1a')]),_0x2394b6);}});ami['on'](_0x0a86('0x3e'),function(_0x50491f){try{utils[_0x0a86('0x16')](util[_0x0a86('0x17')](_0x0a86('0x3f'),_0x50491f[_0x0a86('0x1a')]),_0x50491f);dials['dialend'](_0x50491f);}catch(_0x22837b){utils[_0x0a86('0x12')](util[_0x0a86('0x17')]('[%s][index][dialend]',_0x50491f['uniqueid']),_0x22837b);}});}