a48365c4112e70e5f188229fa4302a57728b5e62
[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 _0x24c8=['[%s][index][hangup]','hangup','cdr','[%s][index][cdr]','blindtransfer','attendedtransfer','[%s][index][attendedtransfer]','origtransfereruniqueid','varset','[%s][index][varset]','newexten','[%s][index][newexten]','newchannel','[%s][index][newchannel]','dialbegin','[%s]dialbegin','dialend','[%s][index][dialend]','asterisk-manager','asterisk','port','password','keepConnected','xdr','info','./agents.controller','./calls.controller','./queues.controller','./recordings.controller','./transfers.controller','./core.controller','connect','shutdown','fullybooted','error','close','managerevent','debug','format','[%s][index][devicestatechange]','device','devicestatechange','[%s][index][agentcalled]','uniqueid','agentcalled','agentringnoanswer','agentconnect','[%s][index][agentconnect]','[%s][index][agentcomplete]','queuecallerabandon','[%s][index][queuecallerabandon]','queuecallerjoin','[%s][index][queuecallerjoin]','queuecallerleave','[%s][index][queuecallerleave]','musiconholdstart','[%s][index][musiconholdstart]','musiconholdstop','[%s][index][musiconholdstop]','[%s][index][newstate]','newstate'];(function(_0x20ef64,_0x4a8fe9){var _0x3707d8=function(_0x5b9a88){while(--_0x5b9a88){_0x20ef64['push'](_0x20ef64['shift']());}};_0x3707d8(++_0x4a8fe9);}(_0x24c8,0x106));var _0x824c=function(_0x311909,_0x414bf7){_0x311909=_0x311909-0x0;var _0x8d3163=_0x24c8[_0x311909];return _0x8d3163;};var AsteriskManager=require(_0x824c('0x0'));var config=require('../../config/environment');var utils=require('./utils');var util=require('util');var ami=new AsteriskManager(config[_0x824c('0x1')][_0x824c('0x2')],config[_0x824c('0x1')]['ip'],config[_0x824c('0x1')]['username'],config['asterisk'][_0x824c('0x3')],!![]);ami[_0x824c('0x4')]();if(config['xdr']&&config[_0x824c('0x5')]['disabled']){utils[_0x824c('0x6')]('XDR\x20DISABLED');}else{var agents=require(_0x824c('0x7'));var calls=require(_0x824c('0x8'));var queues=require(_0x824c('0x9'));var recordings=require(_0x824c('0xa'));var members=require('./members.controller');var dials=require('./dials.controller');var transfers=require(_0x824c('0xb'));var core=require(_0x824c('0xc'));ami['on'](_0x824c('0xd'),core[_0x824c('0xd')]);ami['on']('shutdown',core[_0x824c('0xe')]);ami['on'](_0x824c('0xf'),core[_0x824c('0xf')]);ami['on']('error',core[_0x824c('0x10')]);ami['on'](_0x824c('0x11'),core[_0x824c('0x11')]);ami['on'](_0x824c('0x12'),core[_0x824c('0x12')]);ami['on']('devicestatechange',function(_0x542a0d){try{utils[_0x824c('0x13')](util[_0x824c('0x14')](_0x824c('0x15'),_0x542a0d[_0x824c('0x16')]),_0x542a0d);members[_0x824c('0x17')](_0x542a0d);}catch(_0x41c177){utils[_0x824c('0x10')](util[_0x824c('0x14')](_0x824c('0x15'),_0x542a0d[_0x824c('0x16')]),_0x41c177);}});ami['on']('agentcalled',function(_0x136238){try{utils[_0x824c('0x13')](util['format'](_0x824c('0x18'),_0x136238[_0x824c('0x19')]),_0x136238);agents[_0x824c('0x1a')](_0x136238);}catch(_0x22f285){utils[_0x824c('0x10')](util[_0x824c('0x14')]('[%s][index][agentcalled]',_0x136238['uniqueid']),_0x22f285);}});ami['on'](_0x824c('0x1b'),function(_0x4c047e){try{utils['debug'](util[_0x824c('0x14')]('[%s][index][agentringnoanswer]',_0x4c047e[_0x824c('0x19')]),_0x4c047e);agents['agentringnoanswer'](_0x4c047e);}catch(_0x4534af){utils[_0x824c('0x10')](util[_0x824c('0x14')]('[%s][index][agentringnoanswer]',_0x4c047e[_0x824c('0x19')]),_0x4534af);}});ami['on'](_0x824c('0x1c'),function(_0x142b4f){try{utils[_0x824c('0x13')](util[_0x824c('0x14')](_0x824c('0x1d'),_0x142b4f['uniqueid']),_0x142b4f);agents[_0x824c('0x1c')](_0x142b4f);queues[_0x824c('0x1c')](_0x142b4f);}catch(_0x176d62){utils[_0x824c('0x10')](util[_0x824c('0x14')]('[%s][index][agentconnect]',_0x142b4f[_0x824c('0x19')]),_0x176d62);}});ami['on']('agentcomplete',function(_0x3e8a8f){try{utils[_0x824c('0x13')](util[_0x824c('0x14')](_0x824c('0x1e'),_0x3e8a8f[_0x824c('0x19')]),_0x3e8a8f);agents['agentcomplete'](_0x3e8a8f);queues['agentcomplete'](_0x3e8a8f);members['agentcomplete'](_0x3e8a8f);}catch(_0x3992eb){utils['error'](util['format'](_0x824c('0x1e'),_0x3e8a8f[_0x824c('0x19')]),_0x3992eb);}});ami['on'](_0x824c('0x1f'),function(_0x52672a){try{utils[_0x824c('0x13')](util[_0x824c('0x14')](_0x824c('0x20'),_0x52672a[_0x824c('0x19')]),_0x52672a);agents[_0x824c('0x1f')](_0x52672a);queues[_0x824c('0x1f')](_0x52672a);}catch(_0x333e9d){utils['error'](util['format']('[%s][index][queuecallerabandon]',_0x52672a[_0x824c('0x19')]),_0x333e9d);}});ami['on'](_0x824c('0x21'),function(_0x2b034b){try{utils[_0x824c('0x13')](util[_0x824c('0x14')](_0x824c('0x22'),_0x2b034b[_0x824c('0x19')]),_0x2b034b);queues[_0x824c('0x21')](_0x2b034b);recordings['queuecallerjoin'](_0x2b034b);}catch(_0x3f77e3){utils[_0x824c('0x10')](util['format'](_0x824c('0x22'),_0x2b034b['uniqueid']),_0x3f77e3);}});ami['on'](_0x824c('0x23'),function(_0x3ff0ec){try{utils[_0x824c('0x13')](util[_0x824c('0x14')](_0x824c('0x24'),_0x3ff0ec[_0x824c('0x19')]),_0x3ff0ec);queues['queuecallerleave'](_0x3ff0ec);}catch(_0x489068){utils[_0x824c('0x10')](util[_0x824c('0x14')](_0x824c('0x24'),_0x3ff0ec[_0x824c('0x19')]),_0x489068);}});ami['on'](_0x824c('0x25'),function(_0x14cb09){try{utils[_0x824c('0x13')](util[_0x824c('0x14')](_0x824c('0x26'),_0x14cb09[_0x824c('0x19')]),_0x14cb09);queues['musiconholdstart'](_0x14cb09);calls['musiconholdstart'](_0x14cb09);}catch(_0x297aa6){utils[_0x824c('0x10')](util[_0x824c('0x14')]('[%s][index][musiconholdstart]',_0x14cb09['uniqueid']),_0x297aa6);}});ami['on'](_0x824c('0x27'),function(_0x322f1a){try{utils['debug'](util[_0x824c('0x14')](_0x824c('0x28'),_0x322f1a[_0x824c('0x19')]),_0x322f1a);queues[_0x824c('0x27')](_0x322f1a);calls['musiconholdstop'](_0x322f1a);}catch(_0x5822a3){utils[_0x824c('0x10')](util['format'](_0x824c('0x28'),_0x322f1a['uniqueid']),_0x5822a3);}});ami['on']('newstate',function(_0xe2ee8){try{utils[_0x824c('0x13')](util['format'](_0x824c('0x29'),_0xe2ee8[_0x824c('0x19')]),_0xe2ee8);calls[_0x824c('0x2a')](_0xe2ee8);recordings[_0x824c('0x2a')](_0xe2ee8);}catch(_0x28543c){utils[_0x824c('0x10')](util[_0x824c('0x14')](_0x824c('0x29'),_0xe2ee8[_0x824c('0x19')]),_0x28543c);}});ami['on']('hangup',function(_0x1ebb32){try{utils[_0x824c('0x13')](util['format'](_0x824c('0x2b'),_0x1ebb32[_0x824c('0x19')]),_0x1ebb32);calls[_0x824c('0x2c')](_0x1ebb32);recordings[_0x824c('0x2c')](_0x1ebb32);dials['hangup'](_0x1ebb32);agents[_0x824c('0x2c')](_0x1ebb32);queues[_0x824c('0x2c')](_0x1ebb32);}catch(_0xbd3c16){utils[_0x824c('0x10')](util[_0x824c('0x14')]('[%s][index][hangup]',_0x1ebb32[_0x824c('0x19')]),_0xbd3c16);}});ami['on'](_0x824c('0x2d'),function(_0x4d8e27){try{utils[_0x824c('0x13')](util[_0x824c('0x14')](_0x824c('0x2e'),_0x4d8e27['uniqueid']),_0x4d8e27);members['cdr'](_0x4d8e27);}catch(_0x3af4b4){utils[_0x824c('0x10')](util['format'](_0x824c('0x2e'),_0x4d8e27[_0x824c('0x19')]),_0x3af4b4);}});ami['on']('blindtransfer',function(_0x39f7ef){try{utils['debug'](util[_0x824c('0x14')]('[%s][index][blindtransfer]',_0x39f7ef[_0x824c('0x19')]),_0x39f7ef);queues['blindtransfer'](_0x39f7ef);agents['blindtransfer'](_0x39f7ef);transfers[_0x824c('0x2f')](_0x39f7ef);}catch(_0x40515e){utils[_0x824c('0x10')](util[_0x824c('0x14')]('[%s][index][blindtransfer]',_0x39f7ef['uniqueid']),_0x40515e);}});ami['on'](_0x824c('0x30'),function(_0x5d5119){try{utils[_0x824c('0x13')](util[_0x824c('0x14')]('[%s][index][attendedtransfer]',_0x5d5119['origtransfereruniqueid']),_0x5d5119);queues[_0x824c('0x30')](_0x5d5119);transfers['attendedtransfer'](_0x5d5119);agents[_0x824c('0x30')](_0x5d5119);calls[_0x824c('0x30')](_0x5d5119);}catch(_0x3905c0){utils['error'](util['format'](_0x824c('0x31'),_0x5d5119[_0x824c('0x32')]),_0x3905c0);}});ami['on'](_0x824c('0x33'),function(_0x4ce3ee){try{utils['debug'](util[_0x824c('0x14')](_0x824c('0x34'),_0x4ce3ee[_0x824c('0x19')]),_0x4ce3ee);queues[_0x824c('0x33')](_0x4ce3ee);recordings[_0x824c('0x33')](_0x4ce3ee);calls[_0x824c('0x33')](_0x4ce3ee);dials[_0x824c('0x33')](_0x4ce3ee);}catch(_0x122274){utils[_0x824c('0x10')](util[_0x824c('0x14')]('[%s][index][varset]',_0x4ce3ee['uniqueid']),_0x122274);}});ami['on'](_0x824c('0x35'),function(_0x5c20c4){try{utils[_0x824c('0x13')](util[_0x824c('0x14')](_0x824c('0x36'),_0x5c20c4[_0x824c('0x19')]),_0x5c20c4);calls['newexten'](_0x5c20c4);recordings[_0x824c('0x35')](_0x5c20c4);dials['newexten'](_0x5c20c4);}catch(_0x3903fc){utils[_0x824c('0x10')](util[_0x824c('0x14')](_0x824c('0x36'),_0x5c20c4['uniqueid']),_0x3903fc);}});ami['on'](_0x824c('0x37'),function(_0x6b7d82){try{utils['debug'](util[_0x824c('0x14')](_0x824c('0x38'),_0x6b7d82[_0x824c('0x19')]),_0x6b7d82);calls['newchannel'](_0x6b7d82);recordings[_0x824c('0x37')](_0x6b7d82);}catch(_0x845ffd){utils[_0x824c('0x10')](util[_0x824c('0x14')](_0x824c('0x38'),_0x6b7d82[_0x824c('0x19')]),_0x845ffd);}});ami['on'](_0x824c('0x39'),function(_0x2a3645){try{utils['debug'](util[_0x824c('0x14')]('[%s][index][dialbegin]',_0x2a3645['uniqueid']),_0x2a3645);dials[_0x824c('0x39')](_0x2a3645);}catch(_0x311024){utils[_0x824c('0x10')](util[_0x824c('0x14')](_0x824c('0x3a'),_0x2a3645[_0x824c('0x19')]),_0x311024);}});ami['on'](_0x824c('0x3b'),function(_0x519040){try{utils[_0x824c('0x13')](util['format']('[%s][index][dialend]',_0x519040[_0x824c('0x19')]),_0x519040);dials[_0x824c('0x3b')](_0x519040);}catch(_0x47c20c){utils['error'](util['format'](_0x824c('0x3c'),_0x519040[_0x824c('0x19')]),_0x47c20c);}});}