Built motion from commit 994c64e1.|2.6.1
[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 _0x8e96=['port','asterisk','username','keepConnected','info','XDR\x20DISABLED','Asterisk\x20disabled\x20on\x20localhost','./calls.controller','./recordings.controller','./members.controller','./dials.controller','./transfers.controller','./core.controller','shutdown','fullybooted','error','close','managerevent','devicestatechange','debug','format','device','[%s][index][devicestatechange]','agentcalled','uniqueid','[%s][index][agentcalled]','agentringnoanswer','[%s][index][agentringnoanswer]','agentconnect','[%s][index][agentconnect]','[%s][index][agentcomplete]','agentcomplete','[%s][index][queuecallerabandon]','queuecallerabandon','queuecallerjoin','[%s][index][queuecallerjoin]','queuecallerleave','[%s][index][queuecallerleave]','musiconholdstart','[%s][index][musiconholdstart]','[%s][index][musiconholdstop]','musiconholdstop','newstate','[%s][index][newstate]','hangup','[%s][index][hangup]','cdr','[%s][index][cdr]','[%s][index][blindtransfer]','blindtransfer','attendedtransfer','[%s][index][attendedtransfer]','origtransfereruniqueid','varset','[%s][index][varset]','newexten','[%s][index][newexten]','newchannel','[%s][index][newchannel]','dialbegin','[%s][index][dialbegin]','dialend','[%s][index][dialend]','asterisk-manager','../../config/environment','util','xdr','disabled','local'];(function(_0x423234,_0x560ac2){var _0x4e5415=function(_0x14a176){while(--_0x14a176){_0x423234['push'](_0x423234['shift']());}};_0x4e5415(++_0x560ac2);}(_0x8e96,0x198));var _0x68e9=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x8e96[_0x3dd15e];return _0x231fd0;};var AsteriskManager=require(_0x68e9('0x0'));var config=require(_0x68e9('0x1'));var utils=require('./utils');var util=require(_0x68e9('0x2'));var isXDREnabled=config[_0x68e9('0x3')]&&config[_0x68e9('0x3')][_0x68e9('0x4')]?!config[_0x68e9('0x3')]['disabled']:!![];var isProduction=config['env']==='production'||![];var isLocalAsterisk=config[_0x68e9('0x3')]&&config['xdr'][_0x68e9('0x5')]===!![]||![];var ami=new AsteriskManager(config['asterisk'][_0x68e9('0x6')],config[_0x68e9('0x7')]['ip'],config[_0x68e9('0x7')][_0x68e9('0x8')],config[_0x68e9('0x7')]['password'],!![]);ami[_0x68e9('0x9')]();if(!isXDREnabled){utils[_0x68e9('0xa')](_0x68e9('0xb'));}else if(!isProduction&&!isLocalAsterisk){utils[_0x68e9('0xa')](_0x68e9('0xc'));}else{var agents=require('./agents.controller');var calls=require(_0x68e9('0xd'));var queues=require('./queues.controller');var recordings=require(_0x68e9('0xe'));var members=require(_0x68e9('0xf'));var dials=require(_0x68e9('0x10'));var transfers=require(_0x68e9('0x11'));var core=require(_0x68e9('0x12'));ami['on']('connect',core['connect']);ami['on']('shutdown',core[_0x68e9('0x13')]);ami['on']('fullybooted',core[_0x68e9('0x14')]);ami['on'](_0x68e9('0x15'),core[_0x68e9('0x15')]);ami['on']('close',core[_0x68e9('0x16')]);ami['on'](_0x68e9('0x17'),core[_0x68e9('0x17')]);ami['on'](_0x68e9('0x18'),function(_0x3d8504){try{utils[_0x68e9('0x19')](util[_0x68e9('0x1a')]('[%s][index][devicestatechange]',_0x3d8504[_0x68e9('0x1b')]),_0x3d8504);members['devicestatechange'](_0x3d8504);}catch(_0x4d17e4){utils[_0x68e9('0x15')](util[_0x68e9('0x1a')](_0x68e9('0x1c'),_0x3d8504[_0x68e9('0x1b')]),_0x4d17e4);}});ami['on'](_0x68e9('0x1d'),function(_0x305d79){try{utils[_0x68e9('0x19')](util[_0x68e9('0x1a')]('[%s][index][agentcalled]',_0x305d79[_0x68e9('0x1e')]),_0x305d79);agents[_0x68e9('0x1d')](_0x305d79);}catch(_0x2f61fa){utils[_0x68e9('0x15')](util[_0x68e9('0x1a')](_0x68e9('0x1f'),_0x305d79[_0x68e9('0x1e')]),_0x2f61fa);}});ami['on'](_0x68e9('0x20'),function(_0xa49936){try{utils[_0x68e9('0x19')](util['format'](_0x68e9('0x21'),_0xa49936['uniqueid']),_0xa49936);agents['agentringnoanswer'](_0xa49936);}catch(_0x4515ff){utils[_0x68e9('0x15')](util['format'](_0x68e9('0x21'),_0xa49936[_0x68e9('0x1e')]),_0x4515ff);}});ami['on'](_0x68e9('0x22'),function(_0x3867b0){try{utils[_0x68e9('0x19')](util[_0x68e9('0x1a')](_0x68e9('0x23'),_0x3867b0[_0x68e9('0x1e')]),_0x3867b0);agents[_0x68e9('0x22')](_0x3867b0);queues[_0x68e9('0x22')](_0x3867b0);}catch(_0x45cf4b){utils[_0x68e9('0x15')](util[_0x68e9('0x1a')](_0x68e9('0x23'),_0x3867b0[_0x68e9('0x1e')]),_0x45cf4b);}});ami['on']('agentcomplete',function(_0x4c2738){try{utils['debug'](util[_0x68e9('0x1a')](_0x68e9('0x24'),_0x4c2738[_0x68e9('0x1e')]),_0x4c2738);agents[_0x68e9('0x25')](_0x4c2738);queues[_0x68e9('0x25')](_0x4c2738);members[_0x68e9('0x25')](_0x4c2738);}catch(_0x1efe09){utils['error'](util[_0x68e9('0x1a')](_0x68e9('0x24'),_0x4c2738['uniqueid']),_0x1efe09);}});ami['on']('queuecallerabandon',function(_0x450a63){try{utils[_0x68e9('0x19')](util[_0x68e9('0x1a')](_0x68e9('0x26'),_0x450a63['uniqueid']),_0x450a63);agents['queuecallerabandon'](_0x450a63);queues[_0x68e9('0x27')](_0x450a63);}catch(_0x465a83){utils[_0x68e9('0x15')](util[_0x68e9('0x1a')](_0x68e9('0x26'),_0x450a63[_0x68e9('0x1e')]),_0x465a83);}});ami['on'](_0x68e9('0x28'),function(_0x3e6923){try{utils[_0x68e9('0x19')](util[_0x68e9('0x1a')](_0x68e9('0x29'),_0x3e6923['uniqueid']),_0x3e6923);queues[_0x68e9('0x28')](_0x3e6923);recordings[_0x68e9('0x28')](_0x3e6923);}catch(_0x5a28f7){utils[_0x68e9('0x15')](util[_0x68e9('0x1a')](_0x68e9('0x29'),_0x3e6923[_0x68e9('0x1e')]),_0x5a28f7);}});ami['on'](_0x68e9('0x2a'),function(_0x504fa4){try{utils[_0x68e9('0x19')](util[_0x68e9('0x1a')](_0x68e9('0x2b'),_0x504fa4[_0x68e9('0x1e')]),_0x504fa4);queues['queuecallerleave'](_0x504fa4);}catch(_0x1caa27){utils['error'](util[_0x68e9('0x1a')]('[%s][index][queuecallerleave]',_0x504fa4[_0x68e9('0x1e')]),_0x1caa27);}});ami['on'](_0x68e9('0x2c'),function(_0x355ec6){try{utils[_0x68e9('0x19')](util[_0x68e9('0x1a')](_0x68e9('0x2d'),_0x355ec6['uniqueid']),_0x355ec6);queues['musiconholdstart'](_0x355ec6);calls[_0x68e9('0x2c')](_0x355ec6);}catch(_0x16d1d2){utils[_0x68e9('0x15')](util[_0x68e9('0x1a')]('[%s][index][musiconholdstart]',_0x355ec6[_0x68e9('0x1e')]),_0x16d1d2);}});ami['on']('musiconholdstop',function(_0x401896){try{utils[_0x68e9('0x19')](util[_0x68e9('0x1a')](_0x68e9('0x2e'),_0x401896[_0x68e9('0x1e')]),_0x401896);queues[_0x68e9('0x2f')](_0x401896);calls[_0x68e9('0x2f')](_0x401896);}catch(_0x55f06a){utils['error'](util[_0x68e9('0x1a')](_0x68e9('0x2e'),_0x401896['uniqueid']),_0x55f06a);}});ami['on'](_0x68e9('0x30'),function(_0x44f0cb){try{utils[_0x68e9('0x19')](util[_0x68e9('0x1a')](_0x68e9('0x31'),_0x44f0cb[_0x68e9('0x1e')]),_0x44f0cb);calls[_0x68e9('0x30')](_0x44f0cb);recordings[_0x68e9('0x30')](_0x44f0cb);}catch(_0x5c9852){utils[_0x68e9('0x15')](util[_0x68e9('0x1a')](_0x68e9('0x31'),_0x44f0cb[_0x68e9('0x1e')]),_0x5c9852);}});ami['on'](_0x68e9('0x32'),function(_0x3f03c0){try{utils[_0x68e9('0x19')](util[_0x68e9('0x1a')](_0x68e9('0x33'),_0x3f03c0[_0x68e9('0x1e')]),_0x3f03c0);calls[_0x68e9('0x32')](_0x3f03c0);recordings[_0x68e9('0x32')](_0x3f03c0);dials[_0x68e9('0x32')](_0x3f03c0);agents[_0x68e9('0x32')](_0x3f03c0);queues['hangup'](_0x3f03c0);}catch(_0x4ae65c){utils[_0x68e9('0x15')](util[_0x68e9('0x1a')]('[%s][index][hangup]',_0x3f03c0[_0x68e9('0x1e')]),_0x4ae65c);}});ami['on'](_0x68e9('0x34'),function(_0x2a9f89){try{utils[_0x68e9('0x19')](util[_0x68e9('0x1a')](_0x68e9('0x35'),_0x2a9f89['uniqueid']),_0x2a9f89);members['cdr'](_0x2a9f89);}catch(_0x50cb9e){utils['error'](util['format']('[%s][index][cdr]',_0x2a9f89['uniqueid']),_0x50cb9e);}});ami['on']('blindtransfer',function(_0x4da312){try{utils[_0x68e9('0x19')](util[_0x68e9('0x1a')](_0x68e9('0x36'),_0x4da312['uniqueid']),_0x4da312);queues['blindtransfer'](_0x4da312);agents[_0x68e9('0x37')](_0x4da312);transfers['blindtransfer'](_0x4da312);recordings[_0x68e9('0x37')](_0x4da312);}catch(_0x289259){utils[_0x68e9('0x15')](util[_0x68e9('0x1a')](_0x68e9('0x36'),_0x4da312[_0x68e9('0x1e')]),_0x289259);}});ami['on'](_0x68e9('0x38'),function(_0x183b60){try{utils[_0x68e9('0x19')](util[_0x68e9('0x1a')](_0x68e9('0x39'),_0x183b60[_0x68e9('0x3a')]),_0x183b60);queues['attendedtransfer'](_0x183b60);transfers[_0x68e9('0x38')](_0x183b60);agents[_0x68e9('0x38')](_0x183b60);calls[_0x68e9('0x38')](_0x183b60);}catch(_0xd8f8d7){utils['error'](util['format'](_0x68e9('0x39'),_0x183b60[_0x68e9('0x3a')]),_0xd8f8d7);}});ami['on'](_0x68e9('0x3b'),function(_0x5045f2){try{utils['debug'](util['format']('[%s][index][varset]',_0x5045f2[_0x68e9('0x1e')]),_0x5045f2);queues[_0x68e9('0x3b')](_0x5045f2);recordings['varset'](_0x5045f2);calls[_0x68e9('0x3b')](_0x5045f2);dials['varset'](_0x5045f2);}catch(_0x2587f0){utils[_0x68e9('0x15')](util[_0x68e9('0x1a')](_0x68e9('0x3c'),_0x5045f2['uniqueid']),_0x2587f0);}});ami['on'](_0x68e9('0x3d'),function(_0x125204){try{utils[_0x68e9('0x19')](util[_0x68e9('0x1a')](_0x68e9('0x3e'),_0x125204['uniqueid']),_0x125204);calls['newexten'](_0x125204);recordings[_0x68e9('0x3d')](_0x125204);dials['newexten'](_0x125204);}catch(_0x41a38b){utils[_0x68e9('0x15')](util[_0x68e9('0x1a')]('[%s][index][newexten]',_0x125204['uniqueid']),_0x41a38b);}});ami['on'](_0x68e9('0x3f'),function(_0x4c1adb){try{utils[_0x68e9('0x19')](util[_0x68e9('0x1a')]('[%s][index][newchannel]',_0x4c1adb[_0x68e9('0x1e')]),_0x4c1adb);calls[_0x68e9('0x3f')](_0x4c1adb);recordings[_0x68e9('0x3f')](_0x4c1adb);}catch(_0x11ddea){utils[_0x68e9('0x15')](util['format'](_0x68e9('0x40'),_0x4c1adb[_0x68e9('0x1e')]),_0x11ddea);}});ami['on'](_0x68e9('0x41'),function(_0x2a9541){try{utils[_0x68e9('0x19')](util[_0x68e9('0x1a')](_0x68e9('0x42'),_0x2a9541[_0x68e9('0x1e')]),_0x2a9541);dials[_0x68e9('0x41')](_0x2a9541);}catch(_0xc456ce){utils[_0x68e9('0x15')](util[_0x68e9('0x1a')]('[%s]dialbegin',_0x2a9541[_0x68e9('0x1e')]),_0xc456ce);}});ami['on'](_0x68e9('0x43'),function(_0x5cd501){try{utils['debug'](util['format'](_0x68e9('0x44'),_0x5cd501[_0x68e9('0x1e')]),_0x5cd501);dials[_0x68e9('0x43')](_0x5cd501);}catch(_0x32fc88){utils[_0x68e9('0x15')](util[_0x68e9('0x1a')](_0x68e9('0x44'),_0x5cd501[_0x68e9('0x1e')]),_0x32fc88);}});}