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 _0x0407=['musiconholdstop','[%s][index][musiconholdstop]','newstate','[%s][index][newstate]','hangup','[%s][index][hangup]','[%s][index][cdr]','cdr','blindtransfer','[%s][index][blindtransfer]','origtransfereruniqueid','attendedtransfer','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','env','production','local','port','asterisk','username','password','keepConnected','info','./agents.controller','./calls.controller','./members.controller','./dials.controller','./core.controller','connect','shutdown','fullybooted','error','close','managerevent','devicestatechange','format','device','[%s][index][devicestatechange]','agentcalled','[%s][index][agentcalled]','uniqueid','agentringnoanswer','debug','[%s][index][agentringnoanswer]','agentconnect','[%s][index][agentconnect]','agentcomplete','[%s][index][agentcomplete]','[%s][index][queuecallerabandon]','queuecallerabandon','[%s][index][queuecallerjoin]','queuecallerjoin','[%s][index][queuecallerleave]','queuecallerleave','musiconholdstart','[%s][index][musiconholdstart]'];(function(_0x37c22c,_0x28a70d){var _0x119d79=function(_0x243a13){while(--_0x243a13){_0x37c22c['push'](_0x37c22c['shift']());}};_0x119d79(++_0x28a70d);}(_0x0407,0x16f));var _0x7040=function(_0x333714,_0x3370ac){_0x333714=_0x333714-0x0;var _0x4c211e=_0x0407[_0x333714];return _0x4c211e;};var AsteriskManager=require(_0x7040('0x0'));var config=require(_0x7040('0x1'));var utils=require('./utils');var util=require(_0x7040('0x2'));var isXDREnabled=config[_0x7040('0x3')]&&config['xdr']['disabled']?!config['xdr'][_0x7040('0x4')]:!![];var isProduction=config[_0x7040('0x5')]===_0x7040('0x6')||![];var isLocalAsterisk=config[_0x7040('0x3')]&&config[_0x7040('0x3')][_0x7040('0x7')]===!![]||![];var ami=new AsteriskManager(config['asterisk'][_0x7040('0x8')],config['asterisk']['ip'],config[_0x7040('0x9')][_0x7040('0xa')],config[_0x7040('0x9')][_0x7040('0xb')],!![]);ami[_0x7040('0xc')]();if(!isXDREnabled){utils[_0x7040('0xd')]('XDR\x20DISABLED');}else if(!isProduction&&!isLocalAsterisk){utils[_0x7040('0xd')]('Asterisk\x20disabled\x20on\x20localhost');}else{var agents=require(_0x7040('0xe'));var calls=require(_0x7040('0xf'));var queues=require('./queues.controller');var recordings=require('./recordings.controller');var members=require(_0x7040('0x10'));var dials=require(_0x7040('0x11'));var transfers=require('./transfers.controller');var core=require(_0x7040('0x12'));ami['on'](_0x7040('0x13'),core[_0x7040('0x13')]);ami['on']('shutdown',core[_0x7040('0x14')]);ami['on'](_0x7040('0x15'),core['fullybooted']);ami['on'](_0x7040('0x16'),core[_0x7040('0x16')]);ami['on'](_0x7040('0x17'),core[_0x7040('0x17')]);ami['on'](_0x7040('0x18'),core[_0x7040('0x18')]);ami['on'](_0x7040('0x19'),function(_0x553a64){try{utils['debug'](util[_0x7040('0x1a')]('[%s][index][devicestatechange]',_0x553a64[_0x7040('0x1b')]),_0x553a64);members[_0x7040('0x19')](_0x553a64);}catch(_0x1b698f){utils[_0x7040('0x16')](util[_0x7040('0x1a')](_0x7040('0x1c'),_0x553a64[_0x7040('0x1b')]),_0x1b698f);}});ami['on'](_0x7040('0x1d'),function(_0x556452){try{utils['debug'](util[_0x7040('0x1a')](_0x7040('0x1e'),_0x556452[_0x7040('0x1f')]),_0x556452);agents[_0x7040('0x1d')](_0x556452);}catch(_0x556d76){utils[_0x7040('0x16')](util['format'](_0x7040('0x1e'),_0x556452[_0x7040('0x1f')]),_0x556d76);}});ami['on'](_0x7040('0x20'),function(_0x3f7d65){try{utils[_0x7040('0x21')](util[_0x7040('0x1a')](_0x7040('0x22'),_0x3f7d65['uniqueid']),_0x3f7d65);agents[_0x7040('0x20')](_0x3f7d65);}catch(_0x3acf75){utils[_0x7040('0x16')](util[_0x7040('0x1a')](_0x7040('0x22'),_0x3f7d65[_0x7040('0x1f')]),_0x3acf75);}});ami['on'](_0x7040('0x23'),function(_0xb13d46){try{utils[_0x7040('0x21')](util[_0x7040('0x1a')](_0x7040('0x24'),_0xb13d46[_0x7040('0x1f')]),_0xb13d46);agents[_0x7040('0x23')](_0xb13d46);queues[_0x7040('0x23')](_0xb13d46);}catch(_0x386758){utils[_0x7040('0x16')](util[_0x7040('0x1a')]('[%s][index][agentconnect]',_0xb13d46[_0x7040('0x1f')]),_0x386758);}});ami['on'](_0x7040('0x25'),function(_0x4645d7){try{utils[_0x7040('0x21')](util[_0x7040('0x1a')](_0x7040('0x26'),_0x4645d7[_0x7040('0x1f')]),_0x4645d7);agents[_0x7040('0x25')](_0x4645d7);queues[_0x7040('0x25')](_0x4645d7);members['agentcomplete'](_0x4645d7);}catch(_0x340f86){utils[_0x7040('0x16')](util[_0x7040('0x1a')](_0x7040('0x26'),_0x4645d7[_0x7040('0x1f')]),_0x340f86);}});ami['on']('queuecallerabandon',function(_0x355045){try{utils[_0x7040('0x21')](util[_0x7040('0x1a')](_0x7040('0x27'),_0x355045[_0x7040('0x1f')]),_0x355045);agents[_0x7040('0x28')](_0x355045);queues[_0x7040('0x28')](_0x355045);}catch(_0x4233f7){utils[_0x7040('0x16')](util['format'](_0x7040('0x27'),_0x355045[_0x7040('0x1f')]),_0x4233f7);}});ami['on']('queuecallerjoin',function(_0x31fa67){try{utils[_0x7040('0x21')](util['format'](_0x7040('0x29'),_0x31fa67['uniqueid']),_0x31fa67);queues['queuecallerjoin'](_0x31fa67);recordings[_0x7040('0x2a')](_0x31fa67);}catch(_0x5470f0){utils[_0x7040('0x16')](util[_0x7040('0x1a')](_0x7040('0x29'),_0x31fa67[_0x7040('0x1f')]),_0x5470f0);}});ami['on']('queuecallerleave',function(_0x43e418){try{utils['debug'](util['format'](_0x7040('0x2b'),_0x43e418[_0x7040('0x1f')]),_0x43e418);queues[_0x7040('0x2c')](_0x43e418);}catch(_0x6c5267){utils[_0x7040('0x16')](util[_0x7040('0x1a')](_0x7040('0x2b'),_0x43e418[_0x7040('0x1f')]),_0x6c5267);}});ami['on'](_0x7040('0x2d'),function(_0x3942b6){try{utils[_0x7040('0x21')](util[_0x7040('0x1a')](_0x7040('0x2e'),_0x3942b6[_0x7040('0x1f')]),_0x3942b6);queues['musiconholdstart'](_0x3942b6);calls[_0x7040('0x2d')](_0x3942b6);}catch(_0x275b32){utils[_0x7040('0x16')](util[_0x7040('0x1a')](_0x7040('0x2e'),_0x3942b6[_0x7040('0x1f')]),_0x275b32);}});ami['on'](_0x7040('0x2f'),function(_0x15cee9){try{utils['debug'](util[_0x7040('0x1a')](_0x7040('0x30'),_0x15cee9['uniqueid']),_0x15cee9);queues[_0x7040('0x2f')](_0x15cee9);calls['musiconholdstop'](_0x15cee9);}catch(_0x2d578){utils[_0x7040('0x16')](util[_0x7040('0x1a')]('[%s][index][musiconholdstop]',_0x15cee9[_0x7040('0x1f')]),_0x2d578);}});ami['on'](_0x7040('0x31'),function(_0x37e8c3){try{utils[_0x7040('0x21')](util[_0x7040('0x1a')](_0x7040('0x32'),_0x37e8c3[_0x7040('0x1f')]),_0x37e8c3);calls[_0x7040('0x31')](_0x37e8c3);recordings[_0x7040('0x31')](_0x37e8c3);}catch(_0x1578f6){utils[_0x7040('0x16')](util[_0x7040('0x1a')](_0x7040('0x32'),_0x37e8c3[_0x7040('0x1f')]),_0x1578f6);}});ami['on'](_0x7040('0x33'),function(_0x1f2fad){try{utils[_0x7040('0x21')](util[_0x7040('0x1a')](_0x7040('0x34'),_0x1f2fad[_0x7040('0x1f')]),_0x1f2fad);calls['hangup'](_0x1f2fad);recordings[_0x7040('0x33')](_0x1f2fad);dials[_0x7040('0x33')](_0x1f2fad);agents[_0x7040('0x33')](_0x1f2fad);queues[_0x7040('0x33')](_0x1f2fad);}catch(_0x2812f5){utils[_0x7040('0x16')](util[_0x7040('0x1a')](_0x7040('0x34'),_0x1f2fad[_0x7040('0x1f')]),_0x2812f5);}});ami['on']('cdr',function(_0xe196e4){try{utils[_0x7040('0x21')](util[_0x7040('0x1a')](_0x7040('0x35'),_0xe196e4[_0x7040('0x1f')]),_0xe196e4);members[_0x7040('0x36')](_0xe196e4);}catch(_0x2734d5){utils['error'](util['format'](_0x7040('0x35'),_0xe196e4[_0x7040('0x1f')]),_0x2734d5);}});ami['on']('blindtransfer',function(_0x1049ce){try{utils[_0x7040('0x21')](util['format']('[%s][index][blindtransfer]',_0x1049ce['uniqueid']),_0x1049ce);queues[_0x7040('0x37')](_0x1049ce);agents['blindtransfer'](_0x1049ce);transfers[_0x7040('0x37')](_0x1049ce);recordings['blindtransfer'](_0x1049ce);}catch(_0x43120e){utils[_0x7040('0x16')](util[_0x7040('0x1a')](_0x7040('0x38'),_0x1049ce['uniqueid']),_0x43120e);}});ami['on']('attendedtransfer',function(_0x23cef4){try{utils['debug'](util[_0x7040('0x1a')]('[%s][index][attendedtransfer]',_0x23cef4[_0x7040('0x39')]),_0x23cef4);queues['attendedtransfer'](_0x23cef4);transfers[_0x7040('0x3a')](_0x23cef4);agents['attendedtransfer'](_0x23cef4);calls['attendedtransfer'](_0x23cef4);}catch(_0x5a14f6){utils[_0x7040('0x16')](util[_0x7040('0x1a')]('[%s][index][attendedtransfer]',_0x23cef4[_0x7040('0x39')]),_0x5a14f6);}});ami['on'](_0x7040('0x3b'),function(_0xcdc79f){try{utils[_0x7040('0x21')](util[_0x7040('0x1a')](_0x7040('0x3c'),_0xcdc79f[_0x7040('0x1f')]),_0xcdc79f);queues[_0x7040('0x3b')](_0xcdc79f);recordings['varset'](_0xcdc79f);calls['varset'](_0xcdc79f);dials[_0x7040('0x3b')](_0xcdc79f);}catch(_0x5dd00c){utils[_0x7040('0x16')](util[_0x7040('0x1a')](_0x7040('0x3c'),_0xcdc79f[_0x7040('0x1f')]),_0x5dd00c);}});ami['on'](_0x7040('0x3d'),function(_0x12fc76){try{utils[_0x7040('0x21')](util[_0x7040('0x1a')](_0x7040('0x3e'),_0x12fc76['uniqueid']),_0x12fc76);calls[_0x7040('0x3d')](_0x12fc76);recordings[_0x7040('0x3d')](_0x12fc76);dials[_0x7040('0x3d')](_0x12fc76);}catch(_0x37a3be){utils['error'](util[_0x7040('0x1a')]('[%s][index][newexten]',_0x12fc76[_0x7040('0x1f')]),_0x37a3be);}});ami['on'](_0x7040('0x3f'),function(_0x1bc781){try{utils['debug'](util[_0x7040('0x1a')](_0x7040('0x40'),_0x1bc781['uniqueid']),_0x1bc781);calls[_0x7040('0x3f')](_0x1bc781);recordings[_0x7040('0x3f')](_0x1bc781);}catch(_0x995397){utils['error'](util['format']('[%s][index][newchannel]',_0x1bc781[_0x7040('0x1f')]),_0x995397);}});ami['on'](_0x7040('0x41'),function(_0x4e37b1){try{utils[_0x7040('0x21')](util[_0x7040('0x1a')](_0x7040('0x42'),_0x4e37b1[_0x7040('0x1f')]),_0x4e37b1);dials[_0x7040('0x41')](_0x4e37b1);}catch(_0x3d63a4){utils[_0x7040('0x16')](util[_0x7040('0x1a')]('[%s]dialbegin',_0x4e37b1['uniqueid']),_0x3d63a4);}});ami['on'](_0x7040('0x43'),function(_0x2a63c0){try{utils[_0x7040('0x21')](util['format']('[%s][index][dialend]',_0x2a63c0['uniqueid']),_0x2a63c0);dials['dialend'](_0x2a63c0);}catch(_0xc41759){utils[_0x7040('0x16')](util[_0x7040('0x1a')](_0x7040('0x44'),_0x2a63c0['uniqueid']),_0xc41759);}});}