Built motion from commit a679711e.|2.6.15
[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 _0xf711=['[%s][index][dialend]','../../config/environment','./utils','xdr','disabled','env','asterisk','username','password','XDR\x20DISABLED','info','Asterisk\x20disabled\x20on\x20localhost','./agents.controller','./calls.controller','./queues.controller','./recordings.controller','./members.controller','./dials.controller','./transfers.controller','./core.controller','connect','shutdown','fullybooted','error','close','managerevent','debug','[%s][index][devicestatechange]','device','devicestatechange','format','[%s][index][agentcalled]','uniqueid','agentcalled','[%s][index][agentringnoanswer]','agentringnoanswer','agentconnect','[%s][index][agentconnect]','[%s][index][agentcomplete]','agentcomplete','queuecallerabandon','[%s][index][queuecallerabandon]','queuecallerjoin','[%s][index][queuecallerjoin]','queuecallerleave','[%s][index][queuecallerleave]','[%s][index][musiconholdstart]','musiconholdstart','musiconholdstop','[%s][index][musiconholdstop]','newstate','[%s][index][newstate]','hangup','[%s][index][hangup]','cdr','[%s][index][cdr]','blindtransfer','[%s][index][blindtransfer]','attendedtransfer','[%s][index][attendedtransfer]','origtransfereruniqueid','varset','[%s][index][varset]','newexten','newchannel','dialbegin','[%s]dialbegin','dialend'];(function(_0x5a71d4,_0xe52ffa){var _0x5b4072=function(_0x347e18){while(--_0x347e18){_0x5a71d4['push'](_0x5a71d4['shift']());}};_0x5b4072(++_0xe52ffa);}(_0xf711,0x111));var _0x1f71=function(_0x5b2b74,_0x3b7d11){_0x5b2b74=_0x5b2b74-0x0;var _0x402920=_0xf711[_0x5b2b74];return _0x402920;};var AsteriskManager=require('asterisk-manager');var config=require(_0x1f71('0x0'));var utils=require(_0x1f71('0x1'));var util=require('util');var isXDREnabled=config[_0x1f71('0x2')]&&config['xdr'][_0x1f71('0x3')]?!config['xdr']['disabled']:!![];var isProduction=config[_0x1f71('0x4')]==='production'||![];var isLocalAsterisk=config[_0x1f71('0x2')]&&config[_0x1f71('0x2')]['local']===!![]||![];var ami=new AsteriskManager(config[_0x1f71('0x5')]['port'],config[_0x1f71('0x5')]['ip'],config[_0x1f71('0x5')][_0x1f71('0x6')],config[_0x1f71('0x5')][_0x1f71('0x7')],!![]);ami['keepConnected']();if(!isXDREnabled){utils['info'](_0x1f71('0x8'));}else if(!isProduction&&!isLocalAsterisk){utils[_0x1f71('0x9')](_0x1f71('0xa'));}else{var agents=require(_0x1f71('0xb'));var calls=require(_0x1f71('0xc'));var queues=require(_0x1f71('0xd'));var recordings=require(_0x1f71('0xe'));var members=require(_0x1f71('0xf'));var dials=require(_0x1f71('0x10'));var transfers=require(_0x1f71('0x11'));var core=require(_0x1f71('0x12'));ami['on']('connect',core[_0x1f71('0x13')]);ami['on'](_0x1f71('0x14'),core['shutdown']);ami['on'](_0x1f71('0x15'),core[_0x1f71('0x15')]);ami['on'](_0x1f71('0x16'),core[_0x1f71('0x16')]);ami['on'](_0x1f71('0x17'),core['close']);ami['on'](_0x1f71('0x18'),core[_0x1f71('0x18')]);ami['on']('devicestatechange',function(_0x5e5c13){try{utils[_0x1f71('0x19')](util['format'](_0x1f71('0x1a'),_0x5e5c13[_0x1f71('0x1b')]),_0x5e5c13);members[_0x1f71('0x1c')](_0x5e5c13);}catch(_0x2865a2){utils[_0x1f71('0x16')](util[_0x1f71('0x1d')](_0x1f71('0x1a'),_0x5e5c13[_0x1f71('0x1b')]),_0x2865a2);}});ami['on']('agentcalled',function(_0x207c8f){try{utils[_0x1f71('0x19')](util[_0x1f71('0x1d')](_0x1f71('0x1e'),_0x207c8f[_0x1f71('0x1f')]),_0x207c8f);agents[_0x1f71('0x20')](_0x207c8f);}catch(_0xad1ee0){utils[_0x1f71('0x16')](util[_0x1f71('0x1d')](_0x1f71('0x1e'),_0x207c8f[_0x1f71('0x1f')]),_0xad1ee0);}});ami['on']('agentringnoanswer',function(_0x225889){try{utils[_0x1f71('0x19')](util[_0x1f71('0x1d')](_0x1f71('0x21'),_0x225889['uniqueid']),_0x225889);agents[_0x1f71('0x22')](_0x225889);}catch(_0x4dcbfd){utils[_0x1f71('0x16')](util[_0x1f71('0x1d')](_0x1f71('0x21'),_0x225889[_0x1f71('0x1f')]),_0x4dcbfd);}});ami['on'](_0x1f71('0x23'),function(_0x19913d){try{utils[_0x1f71('0x19')](util[_0x1f71('0x1d')](_0x1f71('0x24'),_0x19913d[_0x1f71('0x1f')]),_0x19913d);agents[_0x1f71('0x23')](_0x19913d);queues['agentconnect'](_0x19913d);}catch(_0x50e845){utils['error'](util[_0x1f71('0x1d')](_0x1f71('0x24'),_0x19913d[_0x1f71('0x1f')]),_0x50e845);}});ami['on']('agentcomplete',function(_0x58f357){try{utils['debug'](util[_0x1f71('0x1d')](_0x1f71('0x25'),_0x58f357[_0x1f71('0x1f')]),_0x58f357);agents[_0x1f71('0x26')](_0x58f357);queues[_0x1f71('0x26')](_0x58f357);members[_0x1f71('0x26')](_0x58f357);}catch(_0x360bbb){utils[_0x1f71('0x16')](util['format'](_0x1f71('0x25'),_0x58f357['uniqueid']),_0x360bbb);}});ami['on'](_0x1f71('0x27'),function(_0x2a875b){try{utils[_0x1f71('0x19')](util[_0x1f71('0x1d')]('[%s][index][queuecallerabandon]',_0x2a875b['uniqueid']),_0x2a875b);agents['queuecallerabandon'](_0x2a875b);queues[_0x1f71('0x27')](_0x2a875b);}catch(_0x37d89d){utils[_0x1f71('0x16')](util[_0x1f71('0x1d')](_0x1f71('0x28'),_0x2a875b[_0x1f71('0x1f')]),_0x37d89d);}});ami['on'](_0x1f71('0x29'),function(_0x247beb){try{utils[_0x1f71('0x19')](util[_0x1f71('0x1d')]('[%s][index][queuecallerjoin]',_0x247beb[_0x1f71('0x1f')]),_0x247beb);queues[_0x1f71('0x29')](_0x247beb);recordings['queuecallerjoin'](_0x247beb);}catch(_0x4ff6db){utils[_0x1f71('0x16')](util[_0x1f71('0x1d')](_0x1f71('0x2a'),_0x247beb['uniqueid']),_0x4ff6db);}});ami['on'](_0x1f71('0x2b'),function(_0x2ddb59){try{utils['debug'](util[_0x1f71('0x1d')]('[%s][index][queuecallerleave]',_0x2ddb59[_0x1f71('0x1f')]),_0x2ddb59);queues['queuecallerleave'](_0x2ddb59);}catch(_0x34a364){utils[_0x1f71('0x16')](util['format'](_0x1f71('0x2c'),_0x2ddb59[_0x1f71('0x1f')]),_0x34a364);}});ami['on']('musiconholdstart',function(_0x585741){try{utils[_0x1f71('0x19')](util[_0x1f71('0x1d')](_0x1f71('0x2d'),_0x585741['uniqueid']),_0x585741);queues['musiconholdstart'](_0x585741);calls[_0x1f71('0x2e')](_0x585741);}catch(_0x2ce86a){utils[_0x1f71('0x16')](util['format'](_0x1f71('0x2d'),_0x585741[_0x1f71('0x1f')]),_0x2ce86a);}});ami['on'](_0x1f71('0x2f'),function(_0x2c301a){try{utils[_0x1f71('0x19')](util[_0x1f71('0x1d')](_0x1f71('0x30'),_0x2c301a[_0x1f71('0x1f')]),_0x2c301a);queues[_0x1f71('0x2f')](_0x2c301a);calls['musiconholdstop'](_0x2c301a);}catch(_0x4989c8){utils[_0x1f71('0x16')](util[_0x1f71('0x1d')](_0x1f71('0x30'),_0x2c301a[_0x1f71('0x1f')]),_0x4989c8);}});ami['on'](_0x1f71('0x31'),function(_0x95dc7c){try{utils[_0x1f71('0x19')](util['format']('[%s][index][newstate]',_0x95dc7c[_0x1f71('0x1f')]),_0x95dc7c);calls['newstate'](_0x95dc7c);recordings[_0x1f71('0x31')](_0x95dc7c);}catch(_0x1a9242){utils[_0x1f71('0x16')](util[_0x1f71('0x1d')](_0x1f71('0x32'),_0x95dc7c['uniqueid']),_0x1a9242);}});ami['on'](_0x1f71('0x33'),function(_0x119855){try{utils['debug'](util[_0x1f71('0x1d')](_0x1f71('0x34'),_0x119855[_0x1f71('0x1f')]),_0x119855);calls[_0x1f71('0x33')](_0x119855);recordings[_0x1f71('0x33')](_0x119855);dials[_0x1f71('0x33')](_0x119855);agents[_0x1f71('0x33')](_0x119855);queues[_0x1f71('0x33')](_0x119855);}catch(_0x294cd7){utils[_0x1f71('0x16')](util['format']('[%s][index][hangup]',_0x119855[_0x1f71('0x1f')]),_0x294cd7);}});ami['on'](_0x1f71('0x35'),function(_0x3c02e5){try{utils[_0x1f71('0x19')](util['format']('[%s][index][cdr]',_0x3c02e5['uniqueid']),_0x3c02e5);members[_0x1f71('0x35')](_0x3c02e5);}catch(_0x5ba0e5){utils['error'](util[_0x1f71('0x1d')](_0x1f71('0x36'),_0x3c02e5['uniqueid']),_0x5ba0e5);}});ami['on'](_0x1f71('0x37'),function(_0x3019ee){try{utils[_0x1f71('0x19')](util[_0x1f71('0x1d')](_0x1f71('0x38'),_0x3019ee['uniqueid']),_0x3019ee);queues[_0x1f71('0x37')](_0x3019ee);agents[_0x1f71('0x37')](_0x3019ee);transfers[_0x1f71('0x37')](_0x3019ee);recordings[_0x1f71('0x37')](_0x3019ee);}catch(_0x1e75a8){utils[_0x1f71('0x16')](util[_0x1f71('0x1d')](_0x1f71('0x38'),_0x3019ee['uniqueid']),_0x1e75a8);}});ami['on'](_0x1f71('0x39'),function(_0xbeb554){try{utils[_0x1f71('0x19')](util[_0x1f71('0x1d')](_0x1f71('0x3a'),_0xbeb554[_0x1f71('0x3b')]),_0xbeb554);queues[_0x1f71('0x39')](_0xbeb554);transfers['attendedtransfer'](_0xbeb554);agents[_0x1f71('0x39')](_0xbeb554);calls[_0x1f71('0x39')](_0xbeb554);}catch(_0x8ed0c4){utils['error'](util[_0x1f71('0x1d')]('[%s][index][attendedtransfer]',_0xbeb554[_0x1f71('0x3b')]),_0x8ed0c4);}});ami['on'](_0x1f71('0x3c'),function(_0x5d8af6){try{utils[_0x1f71('0x19')](util['format']('[%s][index][varset]',_0x5d8af6[_0x1f71('0x1f')]),_0x5d8af6);queues[_0x1f71('0x3c')](_0x5d8af6);recordings['varset'](_0x5d8af6);calls[_0x1f71('0x3c')](_0x5d8af6);dials[_0x1f71('0x3c')](_0x5d8af6);}catch(_0x12e425){utils[_0x1f71('0x16')](util[_0x1f71('0x1d')](_0x1f71('0x3d'),_0x5d8af6[_0x1f71('0x1f')]),_0x12e425);}});ami['on'](_0x1f71('0x3e'),function(_0x191420){try{utils[_0x1f71('0x19')](util[_0x1f71('0x1d')]('[%s][index][newexten]',_0x191420['uniqueid']),_0x191420);calls[_0x1f71('0x3e')](_0x191420);recordings[_0x1f71('0x3e')](_0x191420);dials[_0x1f71('0x3e')](_0x191420);}catch(_0x501390){utils[_0x1f71('0x16')](util[_0x1f71('0x1d')]('[%s][index][newexten]',_0x191420[_0x1f71('0x1f')]),_0x501390);}});ami['on'](_0x1f71('0x3f'),function(_0x558835){try{utils['debug'](util[_0x1f71('0x1d')]('[%s][index][newchannel]',_0x558835['uniqueid']),_0x558835);calls['newchannel'](_0x558835);recordings[_0x1f71('0x3f')](_0x558835);}catch(_0x408c08){utils['error'](util[_0x1f71('0x1d')]('[%s][index][newchannel]',_0x558835['uniqueid']),_0x408c08);}});ami['on']('dialbegin',function(_0x27937c){try{utils[_0x1f71('0x19')](util[_0x1f71('0x1d')]('[%s][index][dialbegin]',_0x27937c[_0x1f71('0x1f')]),_0x27937c);dials[_0x1f71('0x40')](_0x27937c);}catch(_0x23d2fd){utils[_0x1f71('0x16')](util[_0x1f71('0x1d')](_0x1f71('0x41'),_0x27937c['uniqueid']),_0x23d2fd);}});ami['on'](_0x1f71('0x42'),function(_0x1b8ec8){try{utils[_0x1f71('0x19')](util[_0x1f71('0x1d')](_0x1f71('0x43'),_0x1b8ec8[_0x1f71('0x1f')]),_0x1b8ec8);dials[_0x1f71('0x42')](_0x1b8ec8);}catch(_0x31d082){utils[_0x1f71('0x16')](util[_0x1f71('0x1d')](_0x1f71('0x43'),_0x1b8ec8['uniqueid']),_0x31d082);}});}