Built motion from commit 953226e6.|2.6.32
[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 _0xcf55=['asterisk','password','keepConnected','info','XDR\x20DISABLED','Asterisk\x20disabled\x20on\x20localhost','./agents.controller','./calls.controller','./queues.controller','./members.controller','./core.controller','connect','shutdown','fullybooted','error','managerevent','debug','format','[%s][index][devicestatechange]','device','agentcalled','[%s][index][agentcalled]','uniqueid','[%s][index][agentringnoanswer]','agentringnoanswer','agentconnect','[%s][index][agentconnect]','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','[%s][index][queuecallerabandon]','queuecallerjoin','[%s][index][queuecallerjoin]','[%s][index][queuecallerleave]','musiconholdstart','[%s][index][musiconholdstart]','musiconholdstop','[%s][index][musiconholdstop]','[%s][index][newstate]','newstate','hangup','[%s][index][hangup]','cdr','[%s][index][cdr]','blindtransfer','[%s][index][blindtransfer]','attendedtransfer','origtransfereruniqueid','[%s][index][attendedtransfer]','varset','[%s][index][varset]','newexten','[%s][index][newexten]','[%s][index][newchannel]','newchannel','dialbegin','[%s]dialbegin','[%s][index][dialend]','dialend','asterisk-manager','../../config/environment','./utils','util','xdr','disabled','env','production','local'];(function(_0x11a9bf,_0x3f52a5){var _0x47d225=function(_0x370de5){while(--_0x370de5){_0x11a9bf['push'](_0x11a9bf['shift']());}};_0x47d225(++_0x3f52a5);}(_0xcf55,0x14b));var _0x5cf5=function(_0x529849,_0x21de02){_0x529849=_0x529849-0x0;var _0x45dc2c=_0xcf55[_0x529849];return _0x45dc2c;};var AsteriskManager=require(_0x5cf5('0x0'));var config=require(_0x5cf5('0x1'));var utils=require(_0x5cf5('0x2'));var util=require(_0x5cf5('0x3'));var isXDREnabled=config[_0x5cf5('0x4')]&&config[_0x5cf5('0x4')][_0x5cf5('0x5')]?!config['xdr'][_0x5cf5('0x5')]:!![];var isProduction=config[_0x5cf5('0x6')]===_0x5cf5('0x7')||![];var isLocalAsterisk=config['xdr']&&config[_0x5cf5('0x4')][_0x5cf5('0x8')]===!![]||![];var ami=new AsteriskManager(config[_0x5cf5('0x9')]['port'],config[_0x5cf5('0x9')]['ip'],config['asterisk']['username'],config['asterisk'][_0x5cf5('0xa')],!![]);ami[_0x5cf5('0xb')]();if(!isXDREnabled){utils[_0x5cf5('0xc')](_0x5cf5('0xd'));}else if(!isProduction&&!isLocalAsterisk){utils[_0x5cf5('0xc')](_0x5cf5('0xe'));}else{var agents=require(_0x5cf5('0xf'));var calls=require(_0x5cf5('0x10'));var queues=require(_0x5cf5('0x11'));var recordings=require('./recordings.controller');var members=require(_0x5cf5('0x12'));var dials=require('./dials.controller');var transfers=require('./transfers.controller');var core=require(_0x5cf5('0x13'));ami['on']('connect',core[_0x5cf5('0x14')]);ami['on'](_0x5cf5('0x15'),core[_0x5cf5('0x15')]);ami['on'](_0x5cf5('0x16'),core[_0x5cf5('0x16')]);ami['on']('error',core[_0x5cf5('0x17')]);ami['on']('close',core['close']);ami['on'](_0x5cf5('0x18'),core[_0x5cf5('0x18')]);ami['on']('devicestatechange',function(_0x450344){try{utils[_0x5cf5('0x19')](util[_0x5cf5('0x1a')](_0x5cf5('0x1b'),_0x450344[_0x5cf5('0x1c')]),_0x450344);members['devicestatechange'](_0x450344);}catch(_0x3acfc7){utils[_0x5cf5('0x17')](util[_0x5cf5('0x1a')](_0x5cf5('0x1b'),_0x450344[_0x5cf5('0x1c')]),_0x3acfc7);}});ami['on'](_0x5cf5('0x1d'),function(_0x473b1d){try{utils[_0x5cf5('0x19')](util[_0x5cf5('0x1a')](_0x5cf5('0x1e'),_0x473b1d['uniqueid']),_0x473b1d);agents['agentcalled'](_0x473b1d);}catch(_0x21a995){utils[_0x5cf5('0x17')](util['format'](_0x5cf5('0x1e'),_0x473b1d[_0x5cf5('0x1f')]),_0x21a995);}});ami['on']('agentringnoanswer',function(_0x47acfa){try{utils[_0x5cf5('0x19')](util[_0x5cf5('0x1a')](_0x5cf5('0x20'),_0x47acfa[_0x5cf5('0x1f')]),_0x47acfa);agents[_0x5cf5('0x21')](_0x47acfa);}catch(_0x3ba218){utils[_0x5cf5('0x17')](util[_0x5cf5('0x1a')](_0x5cf5('0x20'),_0x47acfa[_0x5cf5('0x1f')]),_0x3ba218);}});ami['on'](_0x5cf5('0x22'),function(_0x240cc2){try{utils[_0x5cf5('0x19')](util[_0x5cf5('0x1a')]('[%s][index][agentconnect]',_0x240cc2['uniqueid']),_0x240cc2);agents['agentconnect'](_0x240cc2);queues[_0x5cf5('0x22')](_0x240cc2);}catch(_0x3220f4){utils['error'](util[_0x5cf5('0x1a')](_0x5cf5('0x23'),_0x240cc2[_0x5cf5('0x1f')]),_0x3220f4);}});ami['on'](_0x5cf5('0x24'),function(_0xc37815){try{utils['debug'](util[_0x5cf5('0x1a')]('[%s][index][agentcomplete]',_0xc37815['uniqueid']),_0xc37815);agents['agentcomplete'](_0xc37815);queues[_0x5cf5('0x24')](_0xc37815);members[_0x5cf5('0x24')](_0xc37815);}catch(_0x276fdd){utils[_0x5cf5('0x17')](util[_0x5cf5('0x1a')](_0x5cf5('0x25'),_0xc37815['uniqueid']),_0x276fdd);}});ami['on'](_0x5cf5('0x26'),function(_0xd6e27b){try{utils[_0x5cf5('0x19')](util[_0x5cf5('0x1a')](_0x5cf5('0x27'),_0xd6e27b['uniqueid']),_0xd6e27b);agents[_0x5cf5('0x26')](_0xd6e27b);queues[_0x5cf5('0x26')](_0xd6e27b);}catch(_0x504715){utils[_0x5cf5('0x17')](util[_0x5cf5('0x1a')]('[%s][index][queuecallerabandon]',_0xd6e27b[_0x5cf5('0x1f')]),_0x504715);}});ami['on'](_0x5cf5('0x28'),function(_0x2c6a13){try{utils[_0x5cf5('0x19')](util['format'](_0x5cf5('0x29'),_0x2c6a13[_0x5cf5('0x1f')]),_0x2c6a13);queues[_0x5cf5('0x28')](_0x2c6a13);recordings['queuecallerjoin'](_0x2c6a13);}catch(_0x2b068d){utils[_0x5cf5('0x17')](util['format']('[%s][index][queuecallerjoin]',_0x2c6a13[_0x5cf5('0x1f')]),_0x2b068d);}});ami['on']('queuecallerleave',function(_0x264c21){try{utils[_0x5cf5('0x19')](util[_0x5cf5('0x1a')](_0x5cf5('0x2a'),_0x264c21[_0x5cf5('0x1f')]),_0x264c21);queues['queuecallerleave'](_0x264c21);}catch(_0x402baa){utils['error'](util['format'](_0x5cf5('0x2a'),_0x264c21[_0x5cf5('0x1f')]),_0x402baa);}});ami['on'](_0x5cf5('0x2b'),function(_0x54fe93){try{utils[_0x5cf5('0x19')](util[_0x5cf5('0x1a')](_0x5cf5('0x2c'),_0x54fe93[_0x5cf5('0x1f')]),_0x54fe93);queues[_0x5cf5('0x2b')](_0x54fe93);calls[_0x5cf5('0x2b')](_0x54fe93);}catch(_0x4aa810){utils[_0x5cf5('0x17')](util[_0x5cf5('0x1a')]('[%s][index][musiconholdstart]',_0x54fe93['uniqueid']),_0x4aa810);}});ami['on'](_0x5cf5('0x2d'),function(_0x5aa70e){try{utils[_0x5cf5('0x19')](util[_0x5cf5('0x1a')]('[%s][index][musiconholdstop]',_0x5aa70e[_0x5cf5('0x1f')]),_0x5aa70e);queues['musiconholdstop'](_0x5aa70e);calls[_0x5cf5('0x2d')](_0x5aa70e);}catch(_0x6e691){utils[_0x5cf5('0x17')](util['format'](_0x5cf5('0x2e'),_0x5aa70e['uniqueid']),_0x6e691);}});ami['on']('newstate',function(_0x2195ea){try{utils['debug'](util[_0x5cf5('0x1a')](_0x5cf5('0x2f'),_0x2195ea[_0x5cf5('0x1f')]),_0x2195ea);calls[_0x5cf5('0x30')](_0x2195ea);recordings[_0x5cf5('0x30')](_0x2195ea);}catch(_0x305d6a){utils['error'](util['format'](_0x5cf5('0x2f'),_0x2195ea[_0x5cf5('0x1f')]),_0x305d6a);}});ami['on'](_0x5cf5('0x31'),function(_0x284d8d){try{utils['debug'](util[_0x5cf5('0x1a')]('[%s][index][hangup]',_0x284d8d['uniqueid']),_0x284d8d);calls['hangup'](_0x284d8d);recordings[_0x5cf5('0x31')](_0x284d8d);dials[_0x5cf5('0x31')](_0x284d8d);agents[_0x5cf5('0x31')](_0x284d8d);queues['hangup'](_0x284d8d);}catch(_0x59e418){utils[_0x5cf5('0x17')](util['format'](_0x5cf5('0x32'),_0x284d8d[_0x5cf5('0x1f')]),_0x59e418);}});ami['on'](_0x5cf5('0x33'),function(_0x74db0c){try{utils[_0x5cf5('0x19')](util[_0x5cf5('0x1a')]('[%s][index][cdr]',_0x74db0c[_0x5cf5('0x1f')]),_0x74db0c);members[_0x5cf5('0x33')](_0x74db0c);}catch(_0x46cac6){utils[_0x5cf5('0x17')](util[_0x5cf5('0x1a')](_0x5cf5('0x34'),_0x74db0c[_0x5cf5('0x1f')]),_0x46cac6);}});ami['on'](_0x5cf5('0x35'),function(_0x2ce309){try{utils['debug'](util[_0x5cf5('0x1a')](_0x5cf5('0x36'),_0x2ce309[_0x5cf5('0x1f')]),_0x2ce309);queues[_0x5cf5('0x35')](_0x2ce309);agents['blindtransfer'](_0x2ce309);transfers[_0x5cf5('0x35')](_0x2ce309);}catch(_0x409061){utils[_0x5cf5('0x17')](util['format'](_0x5cf5('0x36'),_0x2ce309[_0x5cf5('0x1f')]),_0x409061);}});ami['on'](_0x5cf5('0x37'),function(_0x41a86c){try{utils[_0x5cf5('0x19')](util[_0x5cf5('0x1a')]('[%s][index][attendedtransfer]',_0x41a86c[_0x5cf5('0x38')]),_0x41a86c);queues[_0x5cf5('0x37')](_0x41a86c);transfers[_0x5cf5('0x37')](_0x41a86c);agents[_0x5cf5('0x37')](_0x41a86c);calls[_0x5cf5('0x37')](_0x41a86c);}catch(_0x325d6d){utils[_0x5cf5('0x17')](util[_0x5cf5('0x1a')](_0x5cf5('0x39'),_0x41a86c[_0x5cf5('0x38')]),_0x325d6d);}});ami['on'](_0x5cf5('0x3a'),function(_0x2134a5){try{utils['debug'](util[_0x5cf5('0x1a')](_0x5cf5('0x3b'),_0x2134a5[_0x5cf5('0x1f')]),_0x2134a5);queues['varset'](_0x2134a5);recordings[_0x5cf5('0x3a')](_0x2134a5);calls[_0x5cf5('0x3a')](_0x2134a5);dials[_0x5cf5('0x3a')](_0x2134a5);}catch(_0x23d146){utils[_0x5cf5('0x17')](util[_0x5cf5('0x1a')](_0x5cf5('0x3b'),_0x2134a5[_0x5cf5('0x1f')]),_0x23d146);}});ami['on'](_0x5cf5('0x3c'),function(_0x12e6c2){try{utils[_0x5cf5('0x19')](util[_0x5cf5('0x1a')]('[%s][index][newexten]',_0x12e6c2[_0x5cf5('0x1f')]),_0x12e6c2);calls[_0x5cf5('0x3c')](_0x12e6c2);recordings[_0x5cf5('0x3c')](_0x12e6c2);dials[_0x5cf5('0x3c')](_0x12e6c2);}catch(_0x65992d){utils['error'](util[_0x5cf5('0x1a')](_0x5cf5('0x3d'),_0x12e6c2[_0x5cf5('0x1f')]),_0x65992d);}});ami['on']('newchannel',function(_0x58d1d9){try{utils['debug'](util['format'](_0x5cf5('0x3e'),_0x58d1d9[_0x5cf5('0x1f')]),_0x58d1d9);calls[_0x5cf5('0x3f')](_0x58d1d9);recordings[_0x5cf5('0x3f')](_0x58d1d9);}catch(_0x3e7ec6){utils[_0x5cf5('0x17')](util['format']('[%s][index][newchannel]',_0x58d1d9['uniqueid']),_0x3e7ec6);}});ami['on'](_0x5cf5('0x40'),function(_0x22b710){try{utils[_0x5cf5('0x19')](util[_0x5cf5('0x1a')]('[%s][index][dialbegin]',_0x22b710['uniqueid']),_0x22b710);dials[_0x5cf5('0x40')](_0x22b710);}catch(_0x41cc39){utils[_0x5cf5('0x17')](util['format'](_0x5cf5('0x41'),_0x22b710['uniqueid']),_0x41cc39);}});ami['on']('dialend',function(_0x2c3d73){try{utils['debug'](util[_0x5cf5('0x1a')](_0x5cf5('0x42'),_0x2c3d73[_0x5cf5('0x1f')]),_0x2c3d73);dials[_0x5cf5('0x43')](_0x2c3d73);}catch(_0x26e305){utils[_0x5cf5('0x17')](util[_0x5cf5('0x1a')](_0x5cf5('0x42'),_0x2c3d73[_0x5cf5('0x1f')]),_0x26e305);}});}