Built motion from commit e02f907f.|2.6.14
[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 _0xb66b=['cdr','[%s][index][cdr]','[%s][index][blindtransfer]','blindtransfer','attendedtransfer','[%s][index][attendedtransfer]','origtransfereruniqueid','varset','[%s][index][varset]','newexten','[%s][index][newexten]','newchannel','[%s][index][newchannel]','dialbegin','[%s]dialbegin','dialend','[%s][index][dialend]','asterisk-manager','../../config/environment','./utils','util','xdr','disabled','env','production','asterisk','port','username','keepConnected','info','Asterisk\x20disabled\x20on\x20localhost','./agents.controller','./calls.controller','./recordings.controller','./dials.controller','connect','shutdown','fullybooted','error','close','devicestatechange','debug','device','agentcalled','uniqueid','format','[%s][index][agentcalled]','agentringnoanswer','[%s][index][agentringnoanswer]','agentconnect','[%s][index][agentconnect]','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','queuecallerjoin','[%s][index][queuecallerjoin]','queuecallerleave','[%s][index][queuecallerleave]','musiconholdstart','[%s][index][musiconholdstart]','musiconholdstop','[%s][index][musiconholdstop]','newstate','[%s][index][newstate]','hangup','[%s][index][hangup]'];(function(_0x5018bd,_0x24b200){var _0x5cb7c7=function(_0x3a5d84){while(--_0x3a5d84){_0x5018bd['push'](_0x5018bd['shift']());}};_0x5cb7c7(++_0x24b200);}(_0xb66b,0x15b));var _0xbb66=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xb66b[_0x3dd15e];return _0x231fd0;};var AsteriskManager=require(_0xbb66('0x0'));var config=require(_0xbb66('0x1'));var utils=require(_0xbb66('0x2'));var util=require(_0xbb66('0x3'));var isXDREnabled=config[_0xbb66('0x4')]&&config[_0xbb66('0x4')][_0xbb66('0x5')]?!config[_0xbb66('0x4')][_0xbb66('0x5')]:!![];var isProduction=config[_0xbb66('0x6')]===_0xbb66('0x7')||![];var isLocalAsterisk=config[_0xbb66('0x4')]&&config['xdr']['local']===!![]||![];var ami=new AsteriskManager(config[_0xbb66('0x8')][_0xbb66('0x9')],config[_0xbb66('0x8')]['ip'],config['asterisk'][_0xbb66('0xa')],config[_0xbb66('0x8')]['password'],!![]);ami[_0xbb66('0xb')]();if(!isXDREnabled){utils[_0xbb66('0xc')]('XDR\x20DISABLED');}else if(!isProduction&&!isLocalAsterisk){utils[_0xbb66('0xc')](_0xbb66('0xd'));}else{var agents=require(_0xbb66('0xe'));var calls=require(_0xbb66('0xf'));var queues=require('./queues.controller');var recordings=require(_0xbb66('0x10'));var members=require('./members.controller');var dials=require(_0xbb66('0x11'));var transfers=require('./transfers.controller');var core=require('./core.controller');ami['on'](_0xbb66('0x12'),core[_0xbb66('0x12')]);ami['on'](_0xbb66('0x13'),core[_0xbb66('0x13')]);ami['on']('fullybooted',core[_0xbb66('0x14')]);ami['on'](_0xbb66('0x15'),core['error']);ami['on'](_0xbb66('0x16'),core['close']);ami['on']('managerevent',core['managerevent']);ami['on'](_0xbb66('0x17'),function(_0x50c6f9){try{utils[_0xbb66('0x18')](util['format']('[%s][index][devicestatechange]',_0x50c6f9[_0xbb66('0x19')]),_0x50c6f9);members['devicestatechange'](_0x50c6f9);}catch(_0x251ba1){utils[_0xbb66('0x15')](util['format']('[%s][index][devicestatechange]',_0x50c6f9[_0xbb66('0x19')]),_0x251ba1);}});ami['on'](_0xbb66('0x1a'),function(_0x478e71){try{utils[_0xbb66('0x18')](util['format']('[%s][index][agentcalled]',_0x478e71[_0xbb66('0x1b')]),_0x478e71);agents['agentcalled'](_0x478e71);}catch(_0x24a9eb){utils[_0xbb66('0x15')](util[_0xbb66('0x1c')](_0xbb66('0x1d'),_0x478e71[_0xbb66('0x1b')]),_0x24a9eb);}});ami['on'](_0xbb66('0x1e'),function(_0x5aa13f){try{utils['debug'](util['format']('[%s][index][agentringnoanswer]',_0x5aa13f[_0xbb66('0x1b')]),_0x5aa13f);agents[_0xbb66('0x1e')](_0x5aa13f);}catch(_0x44a1c1){utils[_0xbb66('0x15')](util[_0xbb66('0x1c')](_0xbb66('0x1f'),_0x5aa13f[_0xbb66('0x1b')]),_0x44a1c1);}});ami['on'](_0xbb66('0x20'),function(_0xdf88b9){try{utils[_0xbb66('0x18')](util['format']('[%s][index][agentconnect]',_0xdf88b9[_0xbb66('0x1b')]),_0xdf88b9);agents['agentconnect'](_0xdf88b9);queues[_0xbb66('0x20')](_0xdf88b9);}catch(_0x1275fb){utils[_0xbb66('0x15')](util['format'](_0xbb66('0x21'),_0xdf88b9[_0xbb66('0x1b')]),_0x1275fb);}});ami['on'](_0xbb66('0x22'),function(_0x7b6fc3){try{utils['debug'](util[_0xbb66('0x1c')](_0xbb66('0x23'),_0x7b6fc3[_0xbb66('0x1b')]),_0x7b6fc3);agents[_0xbb66('0x22')](_0x7b6fc3);queues['agentcomplete'](_0x7b6fc3);members[_0xbb66('0x22')](_0x7b6fc3);}catch(_0x4930cc){utils[_0xbb66('0x15')](util[_0xbb66('0x1c')]('[%s][index][agentcomplete]',_0x7b6fc3[_0xbb66('0x1b')]),_0x4930cc);}});ami['on']('queuecallerabandon',function(_0x1cd6a8){try{utils[_0xbb66('0x18')](util[_0xbb66('0x1c')]('[%s][index][queuecallerabandon]',_0x1cd6a8[_0xbb66('0x1b')]),_0x1cd6a8);agents[_0xbb66('0x24')](_0x1cd6a8);queues[_0xbb66('0x24')](_0x1cd6a8);}catch(_0xf7d5fc){utils['error'](util[_0xbb66('0x1c')]('[%s][index][queuecallerabandon]',_0x1cd6a8[_0xbb66('0x1b')]),_0xf7d5fc);}});ami['on'](_0xbb66('0x25'),function(_0x314b49){try{utils[_0xbb66('0x18')](util[_0xbb66('0x1c')](_0xbb66('0x26'),_0x314b49[_0xbb66('0x1b')]),_0x314b49);queues[_0xbb66('0x25')](_0x314b49);recordings[_0xbb66('0x25')](_0x314b49);}catch(_0x2e5fa4){utils[_0xbb66('0x15')](util[_0xbb66('0x1c')](_0xbb66('0x26'),_0x314b49['uniqueid']),_0x2e5fa4);}});ami['on'](_0xbb66('0x27'),function(_0x554bfa){try{utils[_0xbb66('0x18')](util['format'](_0xbb66('0x28'),_0x554bfa[_0xbb66('0x1b')]),_0x554bfa);queues[_0xbb66('0x27')](_0x554bfa);}catch(_0x366a35){utils[_0xbb66('0x15')](util['format'](_0xbb66('0x28'),_0x554bfa['uniqueid']),_0x366a35);}});ami['on'](_0xbb66('0x29'),function(_0x12c0fd){try{utils[_0xbb66('0x18')](util[_0xbb66('0x1c')](_0xbb66('0x2a'),_0x12c0fd['uniqueid']),_0x12c0fd);queues[_0xbb66('0x29')](_0x12c0fd);calls[_0xbb66('0x29')](_0x12c0fd);}catch(_0x476fef){utils[_0xbb66('0x15')](util[_0xbb66('0x1c')](_0xbb66('0x2a'),_0x12c0fd['uniqueid']),_0x476fef);}});ami['on'](_0xbb66('0x2b'),function(_0x14ea46){try{utils[_0xbb66('0x18')](util[_0xbb66('0x1c')](_0xbb66('0x2c'),_0x14ea46['uniqueid']),_0x14ea46);queues[_0xbb66('0x2b')](_0x14ea46);calls[_0xbb66('0x2b')](_0x14ea46);}catch(_0x2e71f4){utils[_0xbb66('0x15')](util['format'](_0xbb66('0x2c'),_0x14ea46[_0xbb66('0x1b')]),_0x2e71f4);}});ami['on'](_0xbb66('0x2d'),function(_0x59e164){try{utils[_0xbb66('0x18')](util[_0xbb66('0x1c')](_0xbb66('0x2e'),_0x59e164['uniqueid']),_0x59e164);calls[_0xbb66('0x2d')](_0x59e164);recordings['newstate'](_0x59e164);}catch(_0x5158ec){utils['error'](util[_0xbb66('0x1c')]('[%s][index][newstate]',_0x59e164[_0xbb66('0x1b')]),_0x5158ec);}});ami['on'](_0xbb66('0x2f'),function(_0x2aeffd){try{utils['debug'](util['format'](_0xbb66('0x30'),_0x2aeffd[_0xbb66('0x1b')]),_0x2aeffd);calls[_0xbb66('0x2f')](_0x2aeffd);recordings[_0xbb66('0x2f')](_0x2aeffd);dials['hangup'](_0x2aeffd);agents[_0xbb66('0x2f')](_0x2aeffd);queues[_0xbb66('0x2f')](_0x2aeffd);}catch(_0x1207fe){utils[_0xbb66('0x15')](util['format']('[%s][index][hangup]',_0x2aeffd[_0xbb66('0x1b')]),_0x1207fe);}});ami['on'](_0xbb66('0x31'),function(_0x228785){try{utils['debug'](util[_0xbb66('0x1c')](_0xbb66('0x32'),_0x228785[_0xbb66('0x1b')]),_0x228785);members[_0xbb66('0x31')](_0x228785);}catch(_0x2ecce5){utils[_0xbb66('0x15')](util[_0xbb66('0x1c')]('[%s][index][cdr]',_0x228785[_0xbb66('0x1b')]),_0x2ecce5);}});ami['on']('blindtransfer',function(_0x4f9992){try{utils[_0xbb66('0x18')](util[_0xbb66('0x1c')](_0xbb66('0x33'),_0x4f9992[_0xbb66('0x1b')]),_0x4f9992);queues[_0xbb66('0x34')](_0x4f9992);agents['blindtransfer'](_0x4f9992);transfers[_0xbb66('0x34')](_0x4f9992);recordings[_0xbb66('0x34')](_0x4f9992);}catch(_0x2f40d4){utils[_0xbb66('0x15')](util[_0xbb66('0x1c')](_0xbb66('0x33'),_0x4f9992[_0xbb66('0x1b')]),_0x2f40d4);}});ami['on'](_0xbb66('0x35'),function(_0x30baca){try{utils[_0xbb66('0x18')](util[_0xbb66('0x1c')](_0xbb66('0x36'),_0x30baca[_0xbb66('0x37')]),_0x30baca);queues[_0xbb66('0x35')](_0x30baca);transfers[_0xbb66('0x35')](_0x30baca);agents['attendedtransfer'](_0x30baca);calls[_0xbb66('0x35')](_0x30baca);}catch(_0x40a19f){utils[_0xbb66('0x15')](util['format'](_0xbb66('0x36'),_0x30baca['origtransfereruniqueid']),_0x40a19f);}});ami['on'](_0xbb66('0x38'),function(_0x53c325){try{utils[_0xbb66('0x18')](util[_0xbb66('0x1c')]('[%s][index][varset]',_0x53c325[_0xbb66('0x1b')]),_0x53c325);queues[_0xbb66('0x38')](_0x53c325);recordings[_0xbb66('0x38')](_0x53c325);calls[_0xbb66('0x38')](_0x53c325);dials['varset'](_0x53c325);}catch(_0x258b23){utils[_0xbb66('0x15')](util[_0xbb66('0x1c')](_0xbb66('0x39'),_0x53c325[_0xbb66('0x1b')]),_0x258b23);}});ami['on'](_0xbb66('0x3a'),function(_0x2f041d){try{utils[_0xbb66('0x18')](util[_0xbb66('0x1c')](_0xbb66('0x3b'),_0x2f041d['uniqueid']),_0x2f041d);calls[_0xbb66('0x3a')](_0x2f041d);recordings['newexten'](_0x2f041d);dials[_0xbb66('0x3a')](_0x2f041d);}catch(_0x4f22f9){utils['error'](util[_0xbb66('0x1c')](_0xbb66('0x3b'),_0x2f041d[_0xbb66('0x1b')]),_0x4f22f9);}});ami['on'](_0xbb66('0x3c'),function(_0x535fb6){try{utils[_0xbb66('0x18')](util[_0xbb66('0x1c')](_0xbb66('0x3d'),_0x535fb6[_0xbb66('0x1b')]),_0x535fb6);calls['newchannel'](_0x535fb6);recordings[_0xbb66('0x3c')](_0x535fb6);}catch(_0x1cda9f){utils[_0xbb66('0x15')](util[_0xbb66('0x1c')](_0xbb66('0x3d'),_0x535fb6[_0xbb66('0x1b')]),_0x1cda9f);}});ami['on'](_0xbb66('0x3e'),function(_0x5ad8a4){try{utils['debug'](util['format']('[%s][index][dialbegin]',_0x5ad8a4[_0xbb66('0x1b')]),_0x5ad8a4);dials[_0xbb66('0x3e')](_0x5ad8a4);}catch(_0x4dabce){utils[_0xbb66('0x15')](util[_0xbb66('0x1c')](_0xbb66('0x3f'),_0x5ad8a4['uniqueid']),_0x4dabce);}});ami['on'](_0xbb66('0x40'),function(_0x1a564a){try{utils[_0xbb66('0x18')](util[_0xbb66('0x1c')](_0xbb66('0x41'),_0x1a564a[_0xbb66('0x1b')]),_0x1a564a);dials['dialend'](_0x1a564a);}catch(_0x3204db){utils[_0xbb66('0x15')](util[_0xbb66('0x1c')]('[%s][index][dialend]',_0x1a564a['uniqueid']),_0x3204db);}});}