811590854d709fa74eefd898b179df08a46a5155
[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 _0x7700=['./utils','xdr','disabled','env','production','local','asterisk','port','username','info','Asterisk\x20disabled\x20on\x20localhost','./agents.controller','./calls.controller','./dials.controller','./transfers.controller','./core.controller','connect','shutdown','fullybooted','error','close','managerevent','devicestatechange','debug','device','format','[%s][index][devicestatechange]','[%s][index][agentcalled]','agentcalled','uniqueid','[%s][index][agentringnoanswer]','agentconnect','[%s][index][agentconnect]','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','[%s][index][queuecallerabandon]','[%s][index][queuecallerjoin]','queuecallerjoin','[%s][index][queuecallerleave]','queuecallerleave','musiconholdstart','[%s][index][musiconholdstart]','musiconholdstop','[%s][index][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]','[%s][index][dialbegin]','dialbegin','[%s]dialbegin','dialend','[%s][index][dialend]','../../config/environment'];(function(_0x1e3346,_0x4c31e7){var _0x4edede=function(_0x427f8a){while(--_0x427f8a){_0x1e3346['push'](_0x1e3346['shift']());}};_0x4edede(++_0x4c31e7);}(_0x7700,0xcb));var _0x0770=function(_0x4e2fc1,_0x1bcff0){_0x4e2fc1=_0x4e2fc1-0x0;var _0x30acb2=_0x7700[_0x4e2fc1];return _0x30acb2;};var AsteriskManager=require('asterisk-manager');var config=require(_0x0770('0x0'));var utils=require(_0x0770('0x1'));var util=require('util');var isXDREnabled=config[_0x0770('0x2')]&&config[_0x0770('0x2')][_0x0770('0x3')]?!config[_0x0770('0x2')][_0x0770('0x3')]:!![];var isProduction=config[_0x0770('0x4')]===_0x0770('0x5')||![];var isLocalAsterisk=config[_0x0770('0x2')]&&config[_0x0770('0x2')][_0x0770('0x6')]===!![]||![];var ami=new AsteriskManager(config[_0x0770('0x7')][_0x0770('0x8')],config[_0x0770('0x7')]['ip'],config[_0x0770('0x7')][_0x0770('0x9')],config[_0x0770('0x7')]['password'],!![]);ami['keepConnected']();if(!isXDREnabled){utils[_0x0770('0xa')]('XDR\x20DISABLED');}else if(!isProduction&&!isLocalAsterisk){utils[_0x0770('0xa')](_0x0770('0xb'));}else{var agents=require(_0x0770('0xc'));var calls=require(_0x0770('0xd'));var queues=require('./queues.controller');var recordings=require('./recordings.controller');var members=require('./members.controller');var dials=require(_0x0770('0xe'));var transfers=require(_0x0770('0xf'));var core=require(_0x0770('0x10'));ami['on'](_0x0770('0x11'),core['connect']);ami['on'](_0x0770('0x12'),core[_0x0770('0x12')]);ami['on'](_0x0770('0x13'),core[_0x0770('0x13')]);ami['on'](_0x0770('0x14'),core[_0x0770('0x14')]);ami['on'](_0x0770('0x15'),core[_0x0770('0x15')]);ami['on'](_0x0770('0x16'),core[_0x0770('0x16')]);ami['on'](_0x0770('0x17'),function(_0x4cf68f){try{utils[_0x0770('0x18')](util['format']('[%s][index][devicestatechange]',_0x4cf68f[_0x0770('0x19')]),_0x4cf68f);members[_0x0770('0x17')](_0x4cf68f);}catch(_0x24bf0b){utils[_0x0770('0x14')](util[_0x0770('0x1a')](_0x0770('0x1b'),_0x4cf68f[_0x0770('0x19')]),_0x24bf0b);}});ami['on']('agentcalled',function(_0x2394d8){try{utils[_0x0770('0x18')](util[_0x0770('0x1a')](_0x0770('0x1c'),_0x2394d8['uniqueid']),_0x2394d8);agents[_0x0770('0x1d')](_0x2394d8);}catch(_0x49d05a){utils[_0x0770('0x14')](util[_0x0770('0x1a')](_0x0770('0x1c'),_0x2394d8['uniqueid']),_0x49d05a);}});ami['on']('agentringnoanswer',function(_0x17d822){try{utils[_0x0770('0x18')](util[_0x0770('0x1a')]('[%s][index][agentringnoanswer]',_0x17d822[_0x0770('0x1e')]),_0x17d822);agents['agentringnoanswer'](_0x17d822);}catch(_0x13697e){utils[_0x0770('0x14')](util[_0x0770('0x1a')](_0x0770('0x1f'),_0x17d822[_0x0770('0x1e')]),_0x13697e);}});ami['on'](_0x0770('0x20'),function(_0x51f133){try{utils[_0x0770('0x18')](util['format'](_0x0770('0x21'),_0x51f133['uniqueid']),_0x51f133);agents[_0x0770('0x20')](_0x51f133);queues[_0x0770('0x20')](_0x51f133);}catch(_0x3154b7){utils[_0x0770('0x14')](util[_0x0770('0x1a')](_0x0770('0x21'),_0x51f133[_0x0770('0x1e')]),_0x3154b7);}});ami['on'](_0x0770('0x22'),function(_0x2d121b){try{utils[_0x0770('0x18')](util['format']('[%s][index][agentcomplete]',_0x2d121b[_0x0770('0x1e')]),_0x2d121b);agents['agentcomplete'](_0x2d121b);queues['agentcomplete'](_0x2d121b);members['agentcomplete'](_0x2d121b);}catch(_0xd69d28){utils[_0x0770('0x14')](util[_0x0770('0x1a')](_0x0770('0x23'),_0x2d121b[_0x0770('0x1e')]),_0xd69d28);}});ami['on'](_0x0770('0x24'),function(_0xece80c){try{utils[_0x0770('0x18')](util[_0x0770('0x1a')](_0x0770('0x25'),_0xece80c[_0x0770('0x1e')]),_0xece80c);agents['queuecallerabandon'](_0xece80c);queues[_0x0770('0x24')](_0xece80c);}catch(_0x1a4f8e){utils[_0x0770('0x14')](util[_0x0770('0x1a')](_0x0770('0x25'),_0xece80c[_0x0770('0x1e')]),_0x1a4f8e);}});ami['on']('queuecallerjoin',function(_0x4da90a){try{utils[_0x0770('0x18')](util[_0x0770('0x1a')](_0x0770('0x26'),_0x4da90a[_0x0770('0x1e')]),_0x4da90a);queues[_0x0770('0x27')](_0x4da90a);recordings['queuecallerjoin'](_0x4da90a);}catch(_0x5ed7c2){utils[_0x0770('0x14')](util['format'](_0x0770('0x26'),_0x4da90a[_0x0770('0x1e')]),_0x5ed7c2);}});ami['on']('queuecallerleave',function(_0x2ec456){try{utils[_0x0770('0x18')](util[_0x0770('0x1a')](_0x0770('0x28'),_0x2ec456[_0x0770('0x1e')]),_0x2ec456);queues[_0x0770('0x29')](_0x2ec456);}catch(_0x394170){utils[_0x0770('0x14')](util['format']('[%s][index][queuecallerleave]',_0x2ec456[_0x0770('0x1e')]),_0x394170);}});ami['on'](_0x0770('0x2a'),function(_0x31a7a8){try{utils['debug'](util[_0x0770('0x1a')]('[%s][index][musiconholdstart]',_0x31a7a8['uniqueid']),_0x31a7a8);queues[_0x0770('0x2a')](_0x31a7a8);calls[_0x0770('0x2a')](_0x31a7a8);}catch(_0x3e9faa){utils[_0x0770('0x14')](util['format'](_0x0770('0x2b'),_0x31a7a8[_0x0770('0x1e')]),_0x3e9faa);}});ami['on'](_0x0770('0x2c'),function(_0x221f4b){try{utils[_0x0770('0x18')](util[_0x0770('0x1a')]('[%s][index][musiconholdstop]',_0x221f4b[_0x0770('0x1e')]),_0x221f4b);queues[_0x0770('0x2c')](_0x221f4b);calls[_0x0770('0x2c')](_0x221f4b);}catch(_0x548992){utils['error'](util[_0x0770('0x1a')](_0x0770('0x2d'),_0x221f4b[_0x0770('0x1e')]),_0x548992);}});ami['on'](_0x0770('0x2e'),function(_0x1d7565){try{utils['debug'](util[_0x0770('0x1a')](_0x0770('0x2f'),_0x1d7565['uniqueid']),_0x1d7565);calls['newstate'](_0x1d7565);recordings[_0x0770('0x2e')](_0x1d7565);}catch(_0x4fb516){utils['error'](util[_0x0770('0x1a')]('[%s][index][newstate]',_0x1d7565[_0x0770('0x1e')]),_0x4fb516);}});ami['on'](_0x0770('0x30'),function(_0x356943){try{utils[_0x0770('0x18')](util[_0x0770('0x1a')](_0x0770('0x31'),_0x356943[_0x0770('0x1e')]),_0x356943);calls[_0x0770('0x30')](_0x356943);recordings['hangup'](_0x356943);dials['hangup'](_0x356943);agents[_0x0770('0x30')](_0x356943);queues[_0x0770('0x30')](_0x356943);}catch(_0x6dc04d){utils['error'](util[_0x0770('0x1a')]('[%s][index][hangup]',_0x356943[_0x0770('0x1e')]),_0x6dc04d);}});ami['on'](_0x0770('0x32'),function(_0x121d10){try{utils[_0x0770('0x18')](util[_0x0770('0x1a')](_0x0770('0x33'),_0x121d10[_0x0770('0x1e')]),_0x121d10);members['cdr'](_0x121d10);}catch(_0x5b8a93){utils[_0x0770('0x14')](util['format'](_0x0770('0x33'),_0x121d10[_0x0770('0x1e')]),_0x5b8a93);}});ami['on']('blindtransfer',function(_0x58e382){try{utils[_0x0770('0x18')](util[_0x0770('0x1a')](_0x0770('0x34'),_0x58e382[_0x0770('0x1e')]),_0x58e382);queues[_0x0770('0x35')](_0x58e382);agents[_0x0770('0x35')](_0x58e382);transfers[_0x0770('0x35')](_0x58e382);}catch(_0x353b28){utils[_0x0770('0x14')](util[_0x0770('0x1a')]('[%s][index][blindtransfer]',_0x58e382[_0x0770('0x1e')]),_0x353b28);}});ami['on'](_0x0770('0x36'),function(_0x37d05f){try{utils['debug'](util[_0x0770('0x1a')](_0x0770('0x37'),_0x37d05f[_0x0770('0x38')]),_0x37d05f);queues[_0x0770('0x36')](_0x37d05f);transfers[_0x0770('0x36')](_0x37d05f);agents[_0x0770('0x36')](_0x37d05f);calls[_0x0770('0x36')](_0x37d05f);}catch(_0x3446f5){utils[_0x0770('0x14')](util['format']('[%s][index][attendedtransfer]',_0x37d05f[_0x0770('0x38')]),_0x3446f5);}});ami['on'](_0x0770('0x39'),function(_0x38860c){try{utils[_0x0770('0x18')](util[_0x0770('0x1a')](_0x0770('0x3a'),_0x38860c[_0x0770('0x1e')]),_0x38860c);queues[_0x0770('0x39')](_0x38860c);recordings[_0x0770('0x39')](_0x38860c);calls['varset'](_0x38860c);dials[_0x0770('0x39')](_0x38860c);}catch(_0x533307){utils[_0x0770('0x14')](util['format'](_0x0770('0x3a'),_0x38860c['uniqueid']),_0x533307);}});ami['on'](_0x0770('0x3b'),function(_0xa7406){try{utils[_0x0770('0x18')](util[_0x0770('0x1a')](_0x0770('0x3c'),_0xa7406[_0x0770('0x1e')]),_0xa7406);calls[_0x0770('0x3b')](_0xa7406);recordings['newexten'](_0xa7406);dials[_0x0770('0x3b')](_0xa7406);}catch(_0x429201){utils['error'](util[_0x0770('0x1a')]('[%s][index][newexten]',_0xa7406[_0x0770('0x1e')]),_0x429201);}});ami['on'](_0x0770('0x3d'),function(_0x64e22c){try{utils[_0x0770('0x18')](util[_0x0770('0x1a')](_0x0770('0x3e'),_0x64e22c[_0x0770('0x1e')]),_0x64e22c);calls['newchannel'](_0x64e22c);recordings[_0x0770('0x3d')](_0x64e22c);}catch(_0x121df7){utils[_0x0770('0x14')](util[_0x0770('0x1a')](_0x0770('0x3e'),_0x64e22c[_0x0770('0x1e')]),_0x121df7);}});ami['on']('dialbegin',function(_0x117942){try{utils['debug'](util['format'](_0x0770('0x3f'),_0x117942[_0x0770('0x1e')]),_0x117942);dials[_0x0770('0x40')](_0x117942);}catch(_0x45c087){utils[_0x0770('0x14')](util['format'](_0x0770('0x41'),_0x117942['uniqueid']),_0x45c087);}});ami['on']('dialend',function(_0x4e8731){try{utils['debug'](util[_0x0770('0x1a')]('[%s][index][dialend]',_0x4e8731[_0x0770('0x1e')]),_0x4e8731);dials[_0x0770('0x42')](_0x4e8731);}catch(_0x287488){utils['error'](util[_0x0770('0x1a')](_0x0770('0x43'),_0x4e8731[_0x0770('0x1e')]),_0x287488);}});}