Built motion from commit 25580385.|2.6.2
[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 _0xaaf3=['musiconholdstart','[%s][index][musiconholdstart]','musiconholdstop','[%s][index][musiconholdstop]','[%s][index][newstate]','newstate','[%s][index][hangup]','hangup','[%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]dialbegin','dialend','[%s][index][dialend]','asterisk-manager','../../config/environment','./utils','xdr','disabled','env','production','local','asterisk','password','XDR\x20DISABLED','info','Asterisk\x20disabled\x20on\x20localhost','./agents.controller','./queues.controller','./recordings.controller','./transfers.controller','connect','fullybooted','error','managerevent','devicestatechange','debug','format','[%s][index][devicestatechange]','device','agentcalled','[%s][index][agentcalled]','uniqueid','agentringnoanswer','[%s][index][agentringnoanswer]','agentconnect','[%s][index][agentconnect]','[%s][index][agentcomplete]','agentcomplete','queuecallerabandon','[%s][index][queuecallerabandon]','queuecallerjoin','queuecallerleave','[%s][index][queuecallerleave]'];(function(_0x279f20,_0x5986cb){var _0x42e764=function(_0x54b7bc){while(--_0x54b7bc){_0x279f20['push'](_0x279f20['shift']());}};_0x42e764(++_0x5986cb);}(_0xaaf3,0xd8));var _0x3aaf=function(_0x26277b,_0x3b474d){_0x26277b=_0x26277b-0x0;var _0x4f2fc3=_0xaaf3[_0x26277b];return _0x4f2fc3;};var AsteriskManager=require(_0x3aaf('0x0'));var config=require(_0x3aaf('0x1'));var utils=require(_0x3aaf('0x2'));var util=require('util');var isXDREnabled=config['xdr']&&config['xdr']['disabled']?!config[_0x3aaf('0x3')][_0x3aaf('0x4')]:!![];var isProduction=config[_0x3aaf('0x5')]===_0x3aaf('0x6')||![];var isLocalAsterisk=config[_0x3aaf('0x3')]&&config[_0x3aaf('0x3')][_0x3aaf('0x7')]===!![]||![];var ami=new AsteriskManager(config['asterisk']['port'],config[_0x3aaf('0x8')]['ip'],config[_0x3aaf('0x8')]['username'],config[_0x3aaf('0x8')][_0x3aaf('0x9')],!![]);ami['keepConnected']();if(!isXDREnabled){utils['info'](_0x3aaf('0xa'));}else if(!isProduction&&!isLocalAsterisk){utils[_0x3aaf('0xb')](_0x3aaf('0xc'));}else{var agents=require(_0x3aaf('0xd'));var calls=require('./calls.controller');var queues=require(_0x3aaf('0xe'));var recordings=require(_0x3aaf('0xf'));var members=require('./members.controller');var dials=require('./dials.controller');var transfers=require(_0x3aaf('0x10'));var core=require('./core.controller');ami['on']('connect',core[_0x3aaf('0x11')]);ami['on']('shutdown',core['shutdown']);ami['on'](_0x3aaf('0x12'),core[_0x3aaf('0x12')]);ami['on'](_0x3aaf('0x13'),core[_0x3aaf('0x13')]);ami['on']('close',core['close']);ami['on'](_0x3aaf('0x14'),core[_0x3aaf('0x14')]);ami['on'](_0x3aaf('0x15'),function(_0x2371f5){try{utils[_0x3aaf('0x16')](util[_0x3aaf('0x17')](_0x3aaf('0x18'),_0x2371f5[_0x3aaf('0x19')]),_0x2371f5);members[_0x3aaf('0x15')](_0x2371f5);}catch(_0x2515ad){utils[_0x3aaf('0x13')](util[_0x3aaf('0x17')](_0x3aaf('0x18'),_0x2371f5[_0x3aaf('0x19')]),_0x2515ad);}});ami['on'](_0x3aaf('0x1a'),function(_0xb80a87){try{utils[_0x3aaf('0x16')](util[_0x3aaf('0x17')]('[%s][index][agentcalled]',_0xb80a87['uniqueid']),_0xb80a87);agents[_0x3aaf('0x1a')](_0xb80a87);}catch(_0x568f7f){utils[_0x3aaf('0x13')](util[_0x3aaf('0x17')](_0x3aaf('0x1b'),_0xb80a87[_0x3aaf('0x1c')]),_0x568f7f);}});ami['on'](_0x3aaf('0x1d'),function(_0x22779c){try{utils[_0x3aaf('0x16')](util[_0x3aaf('0x17')](_0x3aaf('0x1e'),_0x22779c['uniqueid']),_0x22779c);agents[_0x3aaf('0x1d')](_0x22779c);}catch(_0x506870){utils[_0x3aaf('0x13')](util[_0x3aaf('0x17')](_0x3aaf('0x1e'),_0x22779c['uniqueid']),_0x506870);}});ami['on'](_0x3aaf('0x1f'),function(_0x515db0){try{utils['debug'](util[_0x3aaf('0x17')](_0x3aaf('0x20'),_0x515db0[_0x3aaf('0x1c')]),_0x515db0);agents[_0x3aaf('0x1f')](_0x515db0);queues[_0x3aaf('0x1f')](_0x515db0);}catch(_0x4bfded){utils[_0x3aaf('0x13')](util[_0x3aaf('0x17')](_0x3aaf('0x20'),_0x515db0[_0x3aaf('0x1c')]),_0x4bfded);}});ami['on']('agentcomplete',function(_0x4c1aea){try{utils[_0x3aaf('0x16')](util[_0x3aaf('0x17')](_0x3aaf('0x21'),_0x4c1aea[_0x3aaf('0x1c')]),_0x4c1aea);agents['agentcomplete'](_0x4c1aea);queues[_0x3aaf('0x22')](_0x4c1aea);members[_0x3aaf('0x22')](_0x4c1aea);}catch(_0x516f9e){utils[_0x3aaf('0x13')](util[_0x3aaf('0x17')]('[%s][index][agentcomplete]',_0x4c1aea[_0x3aaf('0x1c')]),_0x516f9e);}});ami['on'](_0x3aaf('0x23'),function(_0x43cd14){try{utils[_0x3aaf('0x16')](util['format'](_0x3aaf('0x24'),_0x43cd14[_0x3aaf('0x1c')]),_0x43cd14);agents[_0x3aaf('0x23')](_0x43cd14);queues['queuecallerabandon'](_0x43cd14);}catch(_0x3afb85){utils[_0x3aaf('0x13')](util[_0x3aaf('0x17')](_0x3aaf('0x24'),_0x43cd14[_0x3aaf('0x1c')]),_0x3afb85);}});ami['on'](_0x3aaf('0x25'),function(_0x113d07){try{utils[_0x3aaf('0x16')](util['format']('[%s][index][queuecallerjoin]',_0x113d07[_0x3aaf('0x1c')]),_0x113d07);queues[_0x3aaf('0x25')](_0x113d07);recordings['queuecallerjoin'](_0x113d07);}catch(_0x8319b3){utils[_0x3aaf('0x13')](util[_0x3aaf('0x17')]('[%s][index][queuecallerjoin]',_0x113d07[_0x3aaf('0x1c')]),_0x8319b3);}});ami['on'](_0x3aaf('0x26'),function(_0x149a5b){try{utils[_0x3aaf('0x16')](util['format'](_0x3aaf('0x27'),_0x149a5b['uniqueid']),_0x149a5b);queues[_0x3aaf('0x26')](_0x149a5b);}catch(_0x2d7490){utils['error'](util[_0x3aaf('0x17')](_0x3aaf('0x27'),_0x149a5b[_0x3aaf('0x1c')]),_0x2d7490);}});ami['on'](_0x3aaf('0x28'),function(_0x5b1f85){try{utils[_0x3aaf('0x16')](util['format'](_0x3aaf('0x29'),_0x5b1f85[_0x3aaf('0x1c')]),_0x5b1f85);queues[_0x3aaf('0x28')](_0x5b1f85);calls['musiconholdstart'](_0x5b1f85);}catch(_0x35ea63){utils[_0x3aaf('0x13')](util['format'](_0x3aaf('0x29'),_0x5b1f85[_0x3aaf('0x1c')]),_0x35ea63);}});ami['on'](_0x3aaf('0x2a'),function(_0x538ede){try{utils['debug'](util[_0x3aaf('0x17')](_0x3aaf('0x2b'),_0x538ede[_0x3aaf('0x1c')]),_0x538ede);queues['musiconholdstop'](_0x538ede);calls[_0x3aaf('0x2a')](_0x538ede);}catch(_0x101d7a){utils['error'](util[_0x3aaf('0x17')](_0x3aaf('0x2b'),_0x538ede['uniqueid']),_0x101d7a);}});ami['on']('newstate',function(_0x1198c6){try{utils[_0x3aaf('0x16')](util[_0x3aaf('0x17')](_0x3aaf('0x2c'),_0x1198c6[_0x3aaf('0x1c')]),_0x1198c6);calls[_0x3aaf('0x2d')](_0x1198c6);recordings[_0x3aaf('0x2d')](_0x1198c6);}catch(_0x23cbd7){utils[_0x3aaf('0x13')](util[_0x3aaf('0x17')]('[%s][index][newstate]',_0x1198c6[_0x3aaf('0x1c')]),_0x23cbd7);}});ami['on']('hangup',function(_0xb352a2){try{utils[_0x3aaf('0x16')](util[_0x3aaf('0x17')](_0x3aaf('0x2e'),_0xb352a2['uniqueid']),_0xb352a2);calls['hangup'](_0xb352a2);recordings[_0x3aaf('0x2f')](_0xb352a2);dials[_0x3aaf('0x2f')](_0xb352a2);agents['hangup'](_0xb352a2);queues[_0x3aaf('0x2f')](_0xb352a2);}catch(_0x402ce9){utils[_0x3aaf('0x13')](util[_0x3aaf('0x17')](_0x3aaf('0x2e'),_0xb352a2[_0x3aaf('0x1c')]),_0x402ce9);}});ami['on']('cdr',function(_0x208a4d){try{utils[_0x3aaf('0x16')](util['format']('[%s][index][cdr]',_0x208a4d[_0x3aaf('0x1c')]),_0x208a4d);members['cdr'](_0x208a4d);}catch(_0x4b1f5d){utils[_0x3aaf('0x13')](util[_0x3aaf('0x17')](_0x3aaf('0x30'),_0x208a4d[_0x3aaf('0x1c')]),_0x4b1f5d);}});ami['on']('blindtransfer',function(_0x758d19){try{utils[_0x3aaf('0x16')](util[_0x3aaf('0x17')](_0x3aaf('0x31'),_0x758d19['uniqueid']),_0x758d19);queues[_0x3aaf('0x32')](_0x758d19);agents[_0x3aaf('0x32')](_0x758d19);transfers['blindtransfer'](_0x758d19);recordings[_0x3aaf('0x32')](_0x758d19);}catch(_0x315ee0){utils[_0x3aaf('0x13')](util[_0x3aaf('0x17')](_0x3aaf('0x31'),_0x758d19['uniqueid']),_0x315ee0);}});ami['on'](_0x3aaf('0x33'),function(_0x4e3384){try{utils[_0x3aaf('0x16')](util['format'](_0x3aaf('0x34'),_0x4e3384['origtransfereruniqueid']),_0x4e3384);queues[_0x3aaf('0x33')](_0x4e3384);transfers['attendedtransfer'](_0x4e3384);agents[_0x3aaf('0x33')](_0x4e3384);calls[_0x3aaf('0x33')](_0x4e3384);}catch(_0x13f338){utils[_0x3aaf('0x13')](util[_0x3aaf('0x17')](_0x3aaf('0x34'),_0x4e3384[_0x3aaf('0x35')]),_0x13f338);}});ami['on'](_0x3aaf('0x36'),function(_0x5213d6){try{utils[_0x3aaf('0x16')](util[_0x3aaf('0x17')]('[%s][index][varset]',_0x5213d6['uniqueid']),_0x5213d6);queues[_0x3aaf('0x36')](_0x5213d6);recordings[_0x3aaf('0x36')](_0x5213d6);calls[_0x3aaf('0x36')](_0x5213d6);dials[_0x3aaf('0x36')](_0x5213d6);}catch(_0x3623ba){utils['error'](util[_0x3aaf('0x17')](_0x3aaf('0x37'),_0x5213d6['uniqueid']),_0x3623ba);}});ami['on']('newexten',function(_0x1a0f8b){try{utils[_0x3aaf('0x16')](util[_0x3aaf('0x17')]('[%s][index][newexten]',_0x1a0f8b[_0x3aaf('0x1c')]),_0x1a0f8b);calls[_0x3aaf('0x38')](_0x1a0f8b);recordings[_0x3aaf('0x38')](_0x1a0f8b);dials[_0x3aaf('0x38')](_0x1a0f8b);}catch(_0x57d451){utils[_0x3aaf('0x13')](util['format'](_0x3aaf('0x39'),_0x1a0f8b[_0x3aaf('0x1c')]),_0x57d451);}});ami['on'](_0x3aaf('0x3a'),function(_0x168a5e){try{utils[_0x3aaf('0x16')](util[_0x3aaf('0x17')]('[%s][index][newchannel]',_0x168a5e[_0x3aaf('0x1c')]),_0x168a5e);calls[_0x3aaf('0x3a')](_0x168a5e);recordings[_0x3aaf('0x3a')](_0x168a5e);}catch(_0x295176){utils[_0x3aaf('0x13')](util[_0x3aaf('0x17')](_0x3aaf('0x3b'),_0x168a5e[_0x3aaf('0x1c')]),_0x295176);}});ami['on'](_0x3aaf('0x3c'),function(_0x403de3){try{utils[_0x3aaf('0x16')](util[_0x3aaf('0x17')]('[%s][index][dialbegin]',_0x403de3[_0x3aaf('0x1c')]),_0x403de3);dials['dialbegin'](_0x403de3);}catch(_0xe6653a){utils[_0x3aaf('0x13')](util[_0x3aaf('0x17')](_0x3aaf('0x3d'),_0x403de3[_0x3aaf('0x1c')]),_0xe6653a);}});ami['on'](_0x3aaf('0x3e'),function(_0x121419){try{utils[_0x3aaf('0x16')](util[_0x3aaf('0x17')](_0x3aaf('0x3f'),_0x121419[_0x3aaf('0x1c')]),_0x121419);dials[_0x3aaf('0x3e')](_0x121419);}catch(_0x597ef9){utils[_0x3aaf('0x13')](util[_0x3aaf('0x17')](_0x3aaf('0x3f'),_0x121419[_0x3aaf('0x1c')]),_0x597ef9);}});}