ba504a22168f0e00beface86a77af3fc317f2964
[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 _0x9ecf=['[%s][index][agentringnoanswer]','agentconnect','[%s][index][agentconnect]','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','queuecallerjoin','[%s][index][queuecallerjoin]','queuecallerleave','[%s][index][queuecallerleave]','musiconholdstart','[%s][index][musiconholdstart]','[%s][index][musiconholdstop]','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]','[%s][index][newchannel]','newchannel','dialbegin','[%s]dialbegin','dialend','[%s][index][dialend]','asterisk-manager','../../config/environment','./utils','asterisk','username','password','keepConnected','xdr','disabled','info','XDR\x20DISABLED','./agents.controller','./queues.controller','./recordings.controller','./dials.controller','./transfers.controller','shutdown','fullybooted','error','close','managerevent','devicestatechange','debug','format','[%s][index][devicestatechange]','device','agentcalled','uniqueid','agentringnoanswer'];(function(_0x4a7631,_0x2c85b9){var _0x1a5a6f=function(_0x1ee3fd){while(--_0x1ee3fd){_0x4a7631['push'](_0x4a7631['shift']());}};_0x1a5a6f(++_0x2c85b9);}(_0x9ecf,0x163));var _0xf9ec=function(_0x5e5f5a,_0x5cb19a){_0x5e5f5a=_0x5e5f5a-0x0;var _0x4141ae=_0x9ecf[_0x5e5f5a];return _0x4141ae;};var AsteriskManager=require(_0xf9ec('0x0'));var config=require(_0xf9ec('0x1'));var utils=require(_0xf9ec('0x2'));var util=require('util');var ami=new AsteriskManager(config['asterisk']['port'],config[_0xf9ec('0x3')]['ip'],config[_0xf9ec('0x3')][_0xf9ec('0x4')],config['asterisk'][_0xf9ec('0x5')],!![]);ami[_0xf9ec('0x6')]();if(config[_0xf9ec('0x7')]&&config[_0xf9ec('0x7')][_0xf9ec('0x8')]){utils[_0xf9ec('0x9')](_0xf9ec('0xa'));}else{var agents=require(_0xf9ec('0xb'));var calls=require('./calls.controller');var queues=require(_0xf9ec('0xc'));var recordings=require(_0xf9ec('0xd'));var members=require('./members.controller');var dials=require(_0xf9ec('0xe'));var transfers=require(_0xf9ec('0xf'));var core=require('./core.controller');ami['on']('connect',core['connect']);ami['on'](_0xf9ec('0x10'),core['shutdown']);ami['on'](_0xf9ec('0x11'),core[_0xf9ec('0x11')]);ami['on'](_0xf9ec('0x12'),core['error']);ami['on'](_0xf9ec('0x13'),core['close']);ami['on'](_0xf9ec('0x14'),core[_0xf9ec('0x14')]);ami['on'](_0xf9ec('0x15'),function(_0x46c313){try{utils[_0xf9ec('0x16')](util[_0xf9ec('0x17')](_0xf9ec('0x18'),_0x46c313[_0xf9ec('0x19')]),_0x46c313);members['devicestatechange'](_0x46c313);}catch(_0x2ba9df){utils[_0xf9ec('0x12')](util[_0xf9ec('0x17')]('[%s][index][devicestatechange]',_0x46c313[_0xf9ec('0x19')]),_0x2ba9df);}});ami['on'](_0xf9ec('0x1a'),function(_0x20d350){try{utils['debug'](util[_0xf9ec('0x17')]('[%s][index][agentcalled]',_0x20d350[_0xf9ec('0x1b')]),_0x20d350);agents[_0xf9ec('0x1a')](_0x20d350);}catch(_0x1c2121){utils[_0xf9ec('0x12')](util[_0xf9ec('0x17')]('[%s][index][agentcalled]',_0x20d350[_0xf9ec('0x1b')]),_0x1c2121);}});ami['on'](_0xf9ec('0x1c'),function(_0x140fc2){try{utils['debug'](util[_0xf9ec('0x17')](_0xf9ec('0x1d'),_0x140fc2['uniqueid']),_0x140fc2);agents[_0xf9ec('0x1c')](_0x140fc2);}catch(_0x3ee621){utils['error'](util[_0xf9ec('0x17')](_0xf9ec('0x1d'),_0x140fc2['uniqueid']),_0x3ee621);}});ami['on'](_0xf9ec('0x1e'),function(_0x24e0e0){try{utils[_0xf9ec('0x16')](util['format'](_0xf9ec('0x1f'),_0x24e0e0['uniqueid']),_0x24e0e0);agents['agentconnect'](_0x24e0e0);queues[_0xf9ec('0x1e')](_0x24e0e0);}catch(_0x1d8db0){utils['error'](util[_0xf9ec('0x17')](_0xf9ec('0x1f'),_0x24e0e0['uniqueid']),_0x1d8db0);}});ami['on'](_0xf9ec('0x20'),function(_0x33fd31){try{utils[_0xf9ec('0x16')](util[_0xf9ec('0x17')](_0xf9ec('0x21'),_0x33fd31[_0xf9ec('0x1b')]),_0x33fd31);agents[_0xf9ec('0x20')](_0x33fd31);queues['agentcomplete'](_0x33fd31);members['agentcomplete'](_0x33fd31);}catch(_0x1acf45){utils[_0xf9ec('0x12')](util[_0xf9ec('0x17')]('[%s][index][agentcomplete]',_0x33fd31[_0xf9ec('0x1b')]),_0x1acf45);}});ami['on'](_0xf9ec('0x22'),function(_0x165cc7){try{utils[_0xf9ec('0x16')](util[_0xf9ec('0x17')]('[%s][index][queuecallerabandon]',_0x165cc7[_0xf9ec('0x1b')]),_0x165cc7);agents[_0xf9ec('0x22')](_0x165cc7);queues[_0xf9ec('0x22')](_0x165cc7);}catch(_0x1893cf){utils[_0xf9ec('0x12')](util[_0xf9ec('0x17')]('[%s][index][queuecallerabandon]',_0x165cc7[_0xf9ec('0x1b')]),_0x1893cf);}});ami['on'](_0xf9ec('0x23'),function(_0x3f0799){try{utils[_0xf9ec('0x16')](util[_0xf9ec('0x17')](_0xf9ec('0x24'),_0x3f0799[_0xf9ec('0x1b')]),_0x3f0799);queues['queuecallerjoin'](_0x3f0799);recordings[_0xf9ec('0x23')](_0x3f0799);}catch(_0x159261){utils[_0xf9ec('0x12')](util[_0xf9ec('0x17')](_0xf9ec('0x24'),_0x3f0799['uniqueid']),_0x159261);}});ami['on'](_0xf9ec('0x25'),function(_0x138130){try{utils['debug'](util[_0xf9ec('0x17')](_0xf9ec('0x26'),_0x138130['uniqueid']),_0x138130);queues[_0xf9ec('0x25')](_0x138130);}catch(_0x4beba1){utils['error'](util[_0xf9ec('0x17')](_0xf9ec('0x26'),_0x138130[_0xf9ec('0x1b')]),_0x4beba1);}});ami['on'](_0xf9ec('0x27'),function(_0x4e91b0){try{utils[_0xf9ec('0x16')](util[_0xf9ec('0x17')](_0xf9ec('0x28'),_0x4e91b0['uniqueid']),_0x4e91b0);queues[_0xf9ec('0x27')](_0x4e91b0);calls['musiconholdstart'](_0x4e91b0);}catch(_0x4db63a){utils[_0xf9ec('0x12')](util['format'](_0xf9ec('0x28'),_0x4e91b0[_0xf9ec('0x1b')]),_0x4db63a);}});ami['on']('musiconholdstop',function(_0x1962cb){try{utils['debug'](util[_0xf9ec('0x17')](_0xf9ec('0x29'),_0x1962cb[_0xf9ec('0x1b')]),_0x1962cb);queues[_0xf9ec('0x2a')](_0x1962cb);calls[_0xf9ec('0x2a')](_0x1962cb);}catch(_0x383b03){utils[_0xf9ec('0x12')](util['format'](_0xf9ec('0x29'),_0x1962cb[_0xf9ec('0x1b')]),_0x383b03);}});ami['on']('newstate',function(_0x5c4253){try{utils[_0xf9ec('0x16')](util[_0xf9ec('0x17')](_0xf9ec('0x2b'),_0x5c4253['uniqueid']),_0x5c4253);calls[_0xf9ec('0x2c')](_0x5c4253);recordings[_0xf9ec('0x2c')](_0x5c4253);}catch(_0x2d398b){utils[_0xf9ec('0x12')](util[_0xf9ec('0x17')](_0xf9ec('0x2b'),_0x5c4253[_0xf9ec('0x1b')]),_0x2d398b);}});ami['on'](_0xf9ec('0x2d'),function(_0x1b2234){try{utils[_0xf9ec('0x16')](util[_0xf9ec('0x17')](_0xf9ec('0x2e'),_0x1b2234['uniqueid']),_0x1b2234);calls[_0xf9ec('0x2d')](_0x1b2234);recordings['hangup'](_0x1b2234);dials[_0xf9ec('0x2d')](_0x1b2234);agents['hangup'](_0x1b2234);queues['hangup'](_0x1b2234);}catch(_0x5bbc56){utils[_0xf9ec('0x12')](util[_0xf9ec('0x17')](_0xf9ec('0x2e'),_0x1b2234[_0xf9ec('0x1b')]),_0x5bbc56);}});ami['on'](_0xf9ec('0x2f'),function(_0x198c78){try{utils[_0xf9ec('0x16')](util[_0xf9ec('0x17')](_0xf9ec('0x30'),_0x198c78[_0xf9ec('0x1b')]),_0x198c78);members[_0xf9ec('0x2f')](_0x198c78);}catch(_0x126725){utils[_0xf9ec('0x12')](util[_0xf9ec('0x17')](_0xf9ec('0x30'),_0x198c78['uniqueid']),_0x126725);}});ami['on'](_0xf9ec('0x31'),function(_0x56a091){try{utils[_0xf9ec('0x16')](util[_0xf9ec('0x17')](_0xf9ec('0x32'),_0x56a091[_0xf9ec('0x1b')]),_0x56a091);queues[_0xf9ec('0x31')](_0x56a091);agents[_0xf9ec('0x31')](_0x56a091);transfers['blindtransfer'](_0x56a091);}catch(_0x58c3e9){utils[_0xf9ec('0x12')](util[_0xf9ec('0x17')]('[%s][index][blindtransfer]',_0x56a091[_0xf9ec('0x1b')]),_0x58c3e9);}});ami['on'](_0xf9ec('0x33'),function(_0x121129){try{utils['debug'](util[_0xf9ec('0x17')](_0xf9ec('0x34'),_0x121129[_0xf9ec('0x35')]),_0x121129);queues['attendedtransfer'](_0x121129);transfers['attendedtransfer'](_0x121129);agents['attendedtransfer'](_0x121129);calls['attendedtransfer'](_0x121129);}catch(_0x7ed9fc){utils[_0xf9ec('0x12')](util[_0xf9ec('0x17')](_0xf9ec('0x34'),_0x121129[_0xf9ec('0x35')]),_0x7ed9fc);}});ami['on'](_0xf9ec('0x36'),function(_0x567a92){try{utils[_0xf9ec('0x16')](util['format'](_0xf9ec('0x37'),_0x567a92['uniqueid']),_0x567a92);queues['varset'](_0x567a92);recordings[_0xf9ec('0x36')](_0x567a92);calls[_0xf9ec('0x36')](_0x567a92);dials[_0xf9ec('0x36')](_0x567a92);}catch(_0x31239c){utils[_0xf9ec('0x12')](util[_0xf9ec('0x17')](_0xf9ec('0x37'),_0x567a92[_0xf9ec('0x1b')]),_0x31239c);}});ami['on'](_0xf9ec('0x38'),function(_0x191ba0){try{utils['debug'](util['format']('[%s][index][newexten]',_0x191ba0[_0xf9ec('0x1b')]),_0x191ba0);calls[_0xf9ec('0x38')](_0x191ba0);recordings[_0xf9ec('0x38')](_0x191ba0);dials[_0xf9ec('0x38')](_0x191ba0);}catch(_0x4996c5){utils[_0xf9ec('0x12')](util[_0xf9ec('0x17')](_0xf9ec('0x39'),_0x191ba0[_0xf9ec('0x1b')]),_0x4996c5);}});ami['on']('newchannel',function(_0x8ae167){try{utils[_0xf9ec('0x16')](util[_0xf9ec('0x17')](_0xf9ec('0x3a'),_0x8ae167[_0xf9ec('0x1b')]),_0x8ae167);calls['newchannel'](_0x8ae167);recordings[_0xf9ec('0x3b')](_0x8ae167);}catch(_0x25fabf){utils['error'](util[_0xf9ec('0x17')]('[%s][index][newchannel]',_0x8ae167[_0xf9ec('0x1b')]),_0x25fabf);}});ami['on'](_0xf9ec('0x3c'),function(_0x52ad3f){try{utils[_0xf9ec('0x16')](util[_0xf9ec('0x17')]('[%s][index][dialbegin]',_0x52ad3f[_0xf9ec('0x1b')]),_0x52ad3f);dials[_0xf9ec('0x3c')](_0x52ad3f);}catch(_0x148c3c){utils[_0xf9ec('0x12')](util[_0xf9ec('0x17')](_0xf9ec('0x3d'),_0x52ad3f[_0xf9ec('0x1b')]),_0x148c3c);}});ami['on'](_0xf9ec('0x3e'),function(_0x2073c0){try{utils[_0xf9ec('0x16')](util[_0xf9ec('0x17')](_0xf9ec('0x3f'),_0x2073c0[_0xf9ec('0x1b')]),_0x2073c0);dials[_0xf9ec('0x3e')](_0x2073c0);}catch(_0x7de85b){utils[_0xf9ec('0x12')](util[_0xf9ec('0x17')](_0xf9ec('0x3f'),_0x2073c0['uniqueid']),_0x7de85b);}});}