Built motion from commit 775e2a94.|2.6.3
[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 _0xdb78=['queuecallerleave','[%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','[%s][index][attendedtransfer]','origtransfereruniqueid','varset','[%s][index][varset]','newexten','[%s][index][newexten]','newchannel','dialbegin','[%s][index][dialbegin]','dialend','[%s][index][dialend]','asterisk-manager','./utils','util','xdr','disabled','local','asterisk','port','username','password','keepConnected','info','Asterisk\x20disabled\x20on\x20localhost','./agents.controller','./calls.controller','./recordings.controller','./members.controller','./transfers.controller','./core.controller','shutdown','fullybooted','error','close','managerevent','devicestatechange','format','[%s][index][devicestatechange]','device','debug','agentringnoanswer','[%s][index][agentringnoanswer]','uniqueid','agentconnect','[%s][index][agentconnect]','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','[%s][index][queuecallerabandon]','queuecallerjoin','[%s][index][queuecallerjoin]'];(function(_0xa1c6fa,_0x2a0d6f){var _0x53bb7d=function(_0x1e28ae){while(--_0x1e28ae){_0xa1c6fa['push'](_0xa1c6fa['shift']());}};_0x53bb7d(++_0x2a0d6f);}(_0xdb78,0x164));var _0x8db7=function(_0x4ebfdd,_0x2e84e5){_0x4ebfdd=_0x4ebfdd-0x0;var _0x1c8e68=_0xdb78[_0x4ebfdd];return _0x1c8e68;};var AsteriskManager=require(_0x8db7('0x0'));var config=require('../../config/environment');var utils=require(_0x8db7('0x1'));var util=require(_0x8db7('0x2'));var isXDREnabled=config[_0x8db7('0x3')]&&config['xdr'][_0x8db7('0x4')]?!config[_0x8db7('0x3')][_0x8db7('0x4')]:!![];var isProduction=config['env']==='production'||![];var isLocalAsterisk=config[_0x8db7('0x3')]&&config['xdr'][_0x8db7('0x5')]===!![]||![];var ami=new AsteriskManager(config[_0x8db7('0x6')][_0x8db7('0x7')],config[_0x8db7('0x6')]['ip'],config[_0x8db7('0x6')][_0x8db7('0x8')],config['asterisk'][_0x8db7('0x9')],!![]);ami[_0x8db7('0xa')]();if(!isXDREnabled){utils[_0x8db7('0xb')]('XDR\x20DISABLED');}else if(!isProduction&&!isLocalAsterisk){utils['info'](_0x8db7('0xc'));}else{var agents=require(_0x8db7('0xd'));var calls=require(_0x8db7('0xe'));var queues=require('./queues.controller');var recordings=require(_0x8db7('0xf'));var members=require(_0x8db7('0x10'));var dials=require('./dials.controller');var transfers=require(_0x8db7('0x11'));var core=require(_0x8db7('0x12'));ami['on']('connect',core['connect']);ami['on'](_0x8db7('0x13'),core[_0x8db7('0x13')]);ami['on']('fullybooted',core[_0x8db7('0x14')]);ami['on']('error',core[_0x8db7('0x15')]);ami['on'](_0x8db7('0x16'),core[_0x8db7('0x16')]);ami['on'](_0x8db7('0x17'),core[_0x8db7('0x17')]);ami['on'](_0x8db7('0x18'),function(_0x3a983f){try{utils['debug'](util[_0x8db7('0x19')](_0x8db7('0x1a'),_0x3a983f[_0x8db7('0x1b')]),_0x3a983f);members[_0x8db7('0x18')](_0x3a983f);}catch(_0x454181){utils[_0x8db7('0x15')](util[_0x8db7('0x19')](_0x8db7('0x1a'),_0x3a983f['device']),_0x454181);}});ami['on']('agentcalled',function(_0x2a8762){try{utils[_0x8db7('0x1c')](util[_0x8db7('0x19')]('[%s][index][agentcalled]',_0x2a8762['uniqueid']),_0x2a8762);agents['agentcalled'](_0x2a8762);}catch(_0x504c74){utils[_0x8db7('0x15')](util[_0x8db7('0x19')]('[%s][index][agentcalled]',_0x2a8762['uniqueid']),_0x504c74);}});ami['on'](_0x8db7('0x1d'),function(_0x5beb69){try{utils[_0x8db7('0x1c')](util[_0x8db7('0x19')](_0x8db7('0x1e'),_0x5beb69[_0x8db7('0x1f')]),_0x5beb69);agents[_0x8db7('0x1d')](_0x5beb69);}catch(_0x1c55c5){utils[_0x8db7('0x15')](util['format']('[%s][index][agentringnoanswer]',_0x5beb69['uniqueid']),_0x1c55c5);}});ami['on'](_0x8db7('0x20'),function(_0xd19d0a){try{utils[_0x8db7('0x1c')](util['format'](_0x8db7('0x21'),_0xd19d0a[_0x8db7('0x1f')]),_0xd19d0a);agents[_0x8db7('0x20')](_0xd19d0a);queues['agentconnect'](_0xd19d0a);}catch(_0x3a564c){utils['error'](util[_0x8db7('0x19')](_0x8db7('0x21'),_0xd19d0a[_0x8db7('0x1f')]),_0x3a564c);}});ami['on'](_0x8db7('0x22'),function(_0x428a26){try{utils[_0x8db7('0x1c')](util[_0x8db7('0x19')](_0x8db7('0x23'),_0x428a26[_0x8db7('0x1f')]),_0x428a26);agents[_0x8db7('0x22')](_0x428a26);queues[_0x8db7('0x22')](_0x428a26);members['agentcomplete'](_0x428a26);}catch(_0x129ec8){utils[_0x8db7('0x15')](util[_0x8db7('0x19')]('[%s][index][agentcomplete]',_0x428a26['uniqueid']),_0x129ec8);}});ami['on'](_0x8db7('0x24'),function(_0x3c1f15){try{utils[_0x8db7('0x1c')](util[_0x8db7('0x19')](_0x8db7('0x25'),_0x3c1f15[_0x8db7('0x1f')]),_0x3c1f15);agents[_0x8db7('0x24')](_0x3c1f15);queues[_0x8db7('0x24')](_0x3c1f15);}catch(_0x4b1d79){utils[_0x8db7('0x15')](util[_0x8db7('0x19')](_0x8db7('0x25'),_0x3c1f15[_0x8db7('0x1f')]),_0x4b1d79);}});ami['on'](_0x8db7('0x26'),function(_0x5e97e1){try{utils['debug'](util['format'](_0x8db7('0x27'),_0x5e97e1[_0x8db7('0x1f')]),_0x5e97e1);queues['queuecallerjoin'](_0x5e97e1);recordings[_0x8db7('0x26')](_0x5e97e1);}catch(_0x29f290){utils['error'](util['format'](_0x8db7('0x27'),_0x5e97e1[_0x8db7('0x1f')]),_0x29f290);}});ami['on'](_0x8db7('0x28'),function(_0x5b10bf){try{utils[_0x8db7('0x1c')](util[_0x8db7('0x19')](_0x8db7('0x29'),_0x5b10bf[_0x8db7('0x1f')]),_0x5b10bf);queues['queuecallerleave'](_0x5b10bf);}catch(_0x1bfb35){utils[_0x8db7('0x15')](util[_0x8db7('0x19')]('[%s][index][queuecallerleave]',_0x5b10bf[_0x8db7('0x1f')]),_0x1bfb35);}});ami['on'](_0x8db7('0x2a'),function(_0x1936e1){try{utils[_0x8db7('0x1c')](util['format'](_0x8db7('0x2b'),_0x1936e1[_0x8db7('0x1f')]),_0x1936e1);queues[_0x8db7('0x2a')](_0x1936e1);calls[_0x8db7('0x2a')](_0x1936e1);}catch(_0x242eb4){utils[_0x8db7('0x15')](util[_0x8db7('0x19')](_0x8db7('0x2b'),_0x1936e1[_0x8db7('0x1f')]),_0x242eb4);}});ami['on'](_0x8db7('0x2c'),function(_0x3882dd){try{utils['debug'](util[_0x8db7('0x19')](_0x8db7('0x2d'),_0x3882dd[_0x8db7('0x1f')]),_0x3882dd);queues[_0x8db7('0x2c')](_0x3882dd);calls['musiconholdstop'](_0x3882dd);}catch(_0xe0bb36){utils[_0x8db7('0x15')](util[_0x8db7('0x19')](_0x8db7('0x2d'),_0x3882dd[_0x8db7('0x1f')]),_0xe0bb36);}});ami['on']('newstate',function(_0x117de7){try{utils[_0x8db7('0x1c')](util[_0x8db7('0x19')](_0x8db7('0x2e'),_0x117de7[_0x8db7('0x1f')]),_0x117de7);calls[_0x8db7('0x2f')](_0x117de7);recordings[_0x8db7('0x2f')](_0x117de7);}catch(_0x4ab09b){utils[_0x8db7('0x15')](util[_0x8db7('0x19')](_0x8db7('0x2e'),_0x117de7['uniqueid']),_0x4ab09b);}});ami['on'](_0x8db7('0x30'),function(_0x4ee7bc){try{utils[_0x8db7('0x1c')](util[_0x8db7('0x19')](_0x8db7('0x31'),_0x4ee7bc[_0x8db7('0x1f')]),_0x4ee7bc);calls['hangup'](_0x4ee7bc);recordings[_0x8db7('0x30')](_0x4ee7bc);dials[_0x8db7('0x30')](_0x4ee7bc);agents[_0x8db7('0x30')](_0x4ee7bc);queues[_0x8db7('0x30')](_0x4ee7bc);}catch(_0x264a40){utils[_0x8db7('0x15')](util[_0x8db7('0x19')](_0x8db7('0x31'),_0x4ee7bc[_0x8db7('0x1f')]),_0x264a40);}});ami['on'](_0x8db7('0x32'),function(_0x5114cd){try{utils[_0x8db7('0x1c')](util['format'](_0x8db7('0x33'),_0x5114cd[_0x8db7('0x1f')]),_0x5114cd);members[_0x8db7('0x32')](_0x5114cd);}catch(_0x4f151f){utils[_0x8db7('0x15')](util[_0x8db7('0x19')](_0x8db7('0x33'),_0x5114cd[_0x8db7('0x1f')]),_0x4f151f);}});ami['on'](_0x8db7('0x34'),function(_0x1b0fa2){try{utils[_0x8db7('0x1c')](util[_0x8db7('0x19')](_0x8db7('0x35'),_0x1b0fa2[_0x8db7('0x1f')]),_0x1b0fa2);queues['blindtransfer'](_0x1b0fa2);agents[_0x8db7('0x34')](_0x1b0fa2);transfers[_0x8db7('0x34')](_0x1b0fa2);recordings['blindtransfer'](_0x1b0fa2);}catch(_0x14e0c9){utils[_0x8db7('0x15')](util[_0x8db7('0x19')](_0x8db7('0x35'),_0x1b0fa2[_0x8db7('0x1f')]),_0x14e0c9);}});ami['on'](_0x8db7('0x36'),function(_0x209d92){try{utils[_0x8db7('0x1c')](util['format'](_0x8db7('0x37'),_0x209d92[_0x8db7('0x38')]),_0x209d92);queues['attendedtransfer'](_0x209d92);transfers[_0x8db7('0x36')](_0x209d92);agents[_0x8db7('0x36')](_0x209d92);calls[_0x8db7('0x36')](_0x209d92);}catch(_0x2cd153){utils[_0x8db7('0x15')](util[_0x8db7('0x19')](_0x8db7('0x37'),_0x209d92[_0x8db7('0x38')]),_0x2cd153);}});ami['on'](_0x8db7('0x39'),function(_0x2f45b3){try{utils[_0x8db7('0x1c')](util[_0x8db7('0x19')]('[%s][index][varset]',_0x2f45b3[_0x8db7('0x1f')]),_0x2f45b3);queues[_0x8db7('0x39')](_0x2f45b3);recordings['varset'](_0x2f45b3);calls['varset'](_0x2f45b3);dials[_0x8db7('0x39')](_0x2f45b3);}catch(_0x45a0a6){utils['error'](util[_0x8db7('0x19')](_0x8db7('0x3a'),_0x2f45b3[_0x8db7('0x1f')]),_0x45a0a6);}});ami['on'](_0x8db7('0x3b'),function(_0x20a2a2){try{utils[_0x8db7('0x1c')](util[_0x8db7('0x19')](_0x8db7('0x3c'),_0x20a2a2[_0x8db7('0x1f')]),_0x20a2a2);calls[_0x8db7('0x3b')](_0x20a2a2);recordings[_0x8db7('0x3b')](_0x20a2a2);dials[_0x8db7('0x3b')](_0x20a2a2);}catch(_0x5b0741){utils[_0x8db7('0x15')](util['format']('[%s][index][newexten]',_0x20a2a2[_0x8db7('0x1f')]),_0x5b0741);}});ami['on'](_0x8db7('0x3d'),function(_0x56ef2a){try{utils[_0x8db7('0x1c')](util['format']('[%s][index][newchannel]',_0x56ef2a[_0x8db7('0x1f')]),_0x56ef2a);calls[_0x8db7('0x3d')](_0x56ef2a);recordings['newchannel'](_0x56ef2a);}catch(_0x307eb0){utils[_0x8db7('0x15')](util[_0x8db7('0x19')]('[%s][index][newchannel]',_0x56ef2a[_0x8db7('0x1f')]),_0x307eb0);}});ami['on'](_0x8db7('0x3e'),function(_0x1c5954){try{utils[_0x8db7('0x1c')](util[_0x8db7('0x19')](_0x8db7('0x3f'),_0x1c5954[_0x8db7('0x1f')]),_0x1c5954);dials[_0x8db7('0x3e')](_0x1c5954);}catch(_0x264f95){utils[_0x8db7('0x15')](util[_0x8db7('0x19')]('[%s]dialbegin',_0x1c5954[_0x8db7('0x1f')]),_0x264f95);}});ami['on'](_0x8db7('0x40'),function(_0x215257){try{utils['debug'](util[_0x8db7('0x19')](_0x8db7('0x41'),_0x215257[_0x8db7('0x1f')]),_0x215257);dials['dialend'](_0x215257);}catch(_0x18b618){utils[_0x8db7('0x15')](util[_0x8db7('0x19')](_0x8db7('0x41'),_0x215257[_0x8db7('0x1f')]),_0x18b618);}});}