Built motion from commit c116dc8b.|2.6.30
[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 _0x39ef=['queuecallerjoin','[%s][index][queuecallerjoin]','queuecallerleave','[%s][index][queuecallerleave]','[%s][index][musiconholdstart]','musiconholdstart','musiconholdstop','[%s][index][musiconholdstop]','newstate','[%s][index][newstate]','hangup','[%s][index][hangup]','[%s][index][cdr]','cdr','blindtransfer','[%s][index][blindtransfer]','attendedtransfer','[%s][index][attendedtransfer]','origtransfereruniqueid','varset','[%s][index][varset]','newexten','[%s][index][newexten]','newchannel','[%s][index][dialbegin]','dialbegin','[%s]dialbegin','dialend','asterisk-manager','./utils','xdr','disabled','production','local','asterisk','port','password','XDR\x20DISABLED','info','./agents.controller','./calls.controller','./recordings.controller','./members.controller','./dials.controller','./transfers.controller','./core.controller','connect','shutdown','error','close','managerevent','devicestatechange','[%s][index][devicestatechange]','device','format','debug','[%s][index][agentcalled]','uniqueid','agentcalled','agentringnoanswer','[%s][index][agentringnoanswer]','[%s][index][agentconnect]','agentconnect','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','[%s][index][queuecallerabandon]'];(function(_0x220f3f,_0x11c540){var _0x1f170e=function(_0x2c0ec9){while(--_0x2c0ec9){_0x220f3f['push'](_0x220f3f['shift']());}};_0x1f170e(++_0x11c540);}(_0x39ef,0xe5));var _0xf39e=function(_0x49ad91,_0x151789){_0x49ad91=_0x49ad91-0x0;var _0x409654=_0x39ef[_0x49ad91];return _0x409654;};var AsteriskManager=require(_0xf39e('0x0'));var config=require('../../config/environment');var utils=require(_0xf39e('0x1'));var util=require('util');var isXDREnabled=config[_0xf39e('0x2')]&&config[_0xf39e('0x2')][_0xf39e('0x3')]?!config[_0xf39e('0x2')][_0xf39e('0x3')]:!![];var isProduction=config['env']===_0xf39e('0x4')||![];var isLocalAsterisk=config[_0xf39e('0x2')]&&config[_0xf39e('0x2')][_0xf39e('0x5')]===!![]||![];var ami=new AsteriskManager(config[_0xf39e('0x6')][_0xf39e('0x7')],config[_0xf39e('0x6')]['ip'],config[_0xf39e('0x6')]['username'],config['asterisk'][_0xf39e('0x8')],!![]);ami['keepConnected']();if(!isXDREnabled){utils['info'](_0xf39e('0x9'));}else if(!isProduction&&!isLocalAsterisk){utils[_0xf39e('0xa')]('Asterisk\x20disabled\x20on\x20localhost');}else{var agents=require(_0xf39e('0xb'));var calls=require(_0xf39e('0xc'));var queues=require('./queues.controller');var recordings=require(_0xf39e('0xd'));var members=require(_0xf39e('0xe'));var dials=require(_0xf39e('0xf'));var transfers=require(_0xf39e('0x10'));var core=require(_0xf39e('0x11'));ami['on'](_0xf39e('0x12'),core[_0xf39e('0x12')]);ami['on'](_0xf39e('0x13'),core[_0xf39e('0x13')]);ami['on']('fullybooted',core['fullybooted']);ami['on']('error',core[_0xf39e('0x14')]);ami['on'](_0xf39e('0x15'),core[_0xf39e('0x15')]);ami['on'](_0xf39e('0x16'),core['managerevent']);ami['on'](_0xf39e('0x17'),function(_0xe8cae3){try{utils['debug'](util['format'](_0xf39e('0x18'),_0xe8cae3[_0xf39e('0x19')]),_0xe8cae3);members[_0xf39e('0x17')](_0xe8cae3);}catch(_0x5e23c7){utils[_0xf39e('0x14')](util[_0xf39e('0x1a')](_0xf39e('0x18'),_0xe8cae3['device']),_0x5e23c7);}});ami['on']('agentcalled',function(_0x3f545c){try{utils[_0xf39e('0x1b')](util['format'](_0xf39e('0x1c'),_0x3f545c[_0xf39e('0x1d')]),_0x3f545c);agents[_0xf39e('0x1e')](_0x3f545c);}catch(_0x110d25){utils['error'](util['format'](_0xf39e('0x1c'),_0x3f545c['uniqueid']),_0x110d25);}});ami['on'](_0xf39e('0x1f'),function(_0x47342){try{utils[_0xf39e('0x1b')](util[_0xf39e('0x1a')](_0xf39e('0x20'),_0x47342[_0xf39e('0x1d')]),_0x47342);agents['agentringnoanswer'](_0x47342);}catch(_0x454cc2){utils[_0xf39e('0x14')](util[_0xf39e('0x1a')](_0xf39e('0x20'),_0x47342[_0xf39e('0x1d')]),_0x454cc2);}});ami['on']('agentconnect',function(_0xf10485){try{utils[_0xf39e('0x1b')](util[_0xf39e('0x1a')](_0xf39e('0x21'),_0xf10485[_0xf39e('0x1d')]),_0xf10485);agents[_0xf39e('0x22')](_0xf10485);queues[_0xf39e('0x22')](_0xf10485);}catch(_0xd664b){utils[_0xf39e('0x14')](util[_0xf39e('0x1a')]('[%s][index][agentconnect]',_0xf10485[_0xf39e('0x1d')]),_0xd664b);}});ami['on'](_0xf39e('0x23'),function(_0x4c1e85){try{utils[_0xf39e('0x1b')](util[_0xf39e('0x1a')]('[%s][index][agentcomplete]',_0x4c1e85['uniqueid']),_0x4c1e85);agents[_0xf39e('0x23')](_0x4c1e85);queues[_0xf39e('0x23')](_0x4c1e85);members[_0xf39e('0x23')](_0x4c1e85);}catch(_0x11f93a){utils[_0xf39e('0x14')](util[_0xf39e('0x1a')](_0xf39e('0x24'),_0x4c1e85['uniqueid']),_0x11f93a);}});ami['on'](_0xf39e('0x25'),function(_0xc43fa6){try{utils[_0xf39e('0x1b')](util[_0xf39e('0x1a')]('[%s][index][queuecallerabandon]',_0xc43fa6['uniqueid']),_0xc43fa6);agents['queuecallerabandon'](_0xc43fa6);queues[_0xf39e('0x25')](_0xc43fa6);}catch(_0x27b392){utils[_0xf39e('0x14')](util[_0xf39e('0x1a')](_0xf39e('0x26'),_0xc43fa6[_0xf39e('0x1d')]),_0x27b392);}});ami['on'](_0xf39e('0x27'),function(_0x454f00){try{utils[_0xf39e('0x1b')](util['format']('[%s][index][queuecallerjoin]',_0x454f00[_0xf39e('0x1d')]),_0x454f00);queues[_0xf39e('0x27')](_0x454f00);recordings[_0xf39e('0x27')](_0x454f00);}catch(_0x2732d3){utils[_0xf39e('0x14')](util['format'](_0xf39e('0x28'),_0x454f00[_0xf39e('0x1d')]),_0x2732d3);}});ami['on'](_0xf39e('0x29'),function(_0x58399a){try{utils['debug'](util[_0xf39e('0x1a')](_0xf39e('0x2a'),_0x58399a[_0xf39e('0x1d')]),_0x58399a);queues[_0xf39e('0x29')](_0x58399a);}catch(_0x264e5d){utils[_0xf39e('0x14')](util['format'](_0xf39e('0x2a'),_0x58399a[_0xf39e('0x1d')]),_0x264e5d);}});ami['on']('musiconholdstart',function(_0xeb9208){try{utils[_0xf39e('0x1b')](util[_0xf39e('0x1a')](_0xf39e('0x2b'),_0xeb9208[_0xf39e('0x1d')]),_0xeb9208);queues[_0xf39e('0x2c')](_0xeb9208);calls[_0xf39e('0x2c')](_0xeb9208);}catch(_0x721770){utils[_0xf39e('0x14')](util[_0xf39e('0x1a')]('[%s][index][musiconholdstart]',_0xeb9208[_0xf39e('0x1d')]),_0x721770);}});ami['on'](_0xf39e('0x2d'),function(_0x5a9ec4){try{utils['debug'](util[_0xf39e('0x1a')](_0xf39e('0x2e'),_0x5a9ec4[_0xf39e('0x1d')]),_0x5a9ec4);queues[_0xf39e('0x2d')](_0x5a9ec4);calls[_0xf39e('0x2d')](_0x5a9ec4);}catch(_0x2c2c7f){utils[_0xf39e('0x14')](util['format'](_0xf39e('0x2e'),_0x5a9ec4[_0xf39e('0x1d')]),_0x2c2c7f);}});ami['on'](_0xf39e('0x2f'),function(_0x4d0c6a){try{utils[_0xf39e('0x1b')](util['format'](_0xf39e('0x30'),_0x4d0c6a[_0xf39e('0x1d')]),_0x4d0c6a);calls[_0xf39e('0x2f')](_0x4d0c6a);recordings[_0xf39e('0x2f')](_0x4d0c6a);}catch(_0x493e6a){utils[_0xf39e('0x14')](util[_0xf39e('0x1a')](_0xf39e('0x30'),_0x4d0c6a[_0xf39e('0x1d')]),_0x493e6a);}});ami['on'](_0xf39e('0x31'),function(_0x392cd1){try{utils['debug'](util[_0xf39e('0x1a')](_0xf39e('0x32'),_0x392cd1[_0xf39e('0x1d')]),_0x392cd1);calls['hangup'](_0x392cd1);recordings[_0xf39e('0x31')](_0x392cd1);dials[_0xf39e('0x31')](_0x392cd1);agents[_0xf39e('0x31')](_0x392cd1);queues[_0xf39e('0x31')](_0x392cd1);}catch(_0x473d7b){utils[_0xf39e('0x14')](util['format']('[%s][index][hangup]',_0x392cd1['uniqueid']),_0x473d7b);}});ami['on']('cdr',function(_0x5e4993){try{utils[_0xf39e('0x1b')](util[_0xf39e('0x1a')](_0xf39e('0x33'),_0x5e4993[_0xf39e('0x1d')]),_0x5e4993);members[_0xf39e('0x34')](_0x5e4993);}catch(_0x34dda7){utils[_0xf39e('0x14')](util[_0xf39e('0x1a')](_0xf39e('0x33'),_0x5e4993[_0xf39e('0x1d')]),_0x34dda7);}});ami['on'](_0xf39e('0x35'),function(_0x162ba5){try{utils['debug'](util[_0xf39e('0x1a')](_0xf39e('0x36'),_0x162ba5['uniqueid']),_0x162ba5);queues['blindtransfer'](_0x162ba5);agents[_0xf39e('0x35')](_0x162ba5);transfers[_0xf39e('0x35')](_0x162ba5);}catch(_0x10853c){utils[_0xf39e('0x14')](util[_0xf39e('0x1a')](_0xf39e('0x36'),_0x162ba5[_0xf39e('0x1d')]),_0x10853c);}});ami['on'](_0xf39e('0x37'),function(_0xc8c632){try{utils[_0xf39e('0x1b')](util[_0xf39e('0x1a')](_0xf39e('0x38'),_0xc8c632[_0xf39e('0x39')]),_0xc8c632);queues[_0xf39e('0x37')](_0xc8c632);transfers[_0xf39e('0x37')](_0xc8c632);agents[_0xf39e('0x37')](_0xc8c632);calls[_0xf39e('0x37')](_0xc8c632);}catch(_0x568608){utils[_0xf39e('0x14')](util['format'](_0xf39e('0x38'),_0xc8c632[_0xf39e('0x39')]),_0x568608);}});ami['on'](_0xf39e('0x3a'),function(_0x1224e9){try{utils[_0xf39e('0x1b')](util[_0xf39e('0x1a')](_0xf39e('0x3b'),_0x1224e9[_0xf39e('0x1d')]),_0x1224e9);queues[_0xf39e('0x3a')](_0x1224e9);recordings[_0xf39e('0x3a')](_0x1224e9);calls['varset'](_0x1224e9);dials[_0xf39e('0x3a')](_0x1224e9);}catch(_0x3e52a3){utils[_0xf39e('0x14')](util['format']('[%s][index][varset]',_0x1224e9[_0xf39e('0x1d')]),_0x3e52a3);}});ami['on'](_0xf39e('0x3c'),function(_0x2a9716){try{utils[_0xf39e('0x1b')](util[_0xf39e('0x1a')](_0xf39e('0x3d'),_0x2a9716[_0xf39e('0x1d')]),_0x2a9716);calls[_0xf39e('0x3c')](_0x2a9716);recordings[_0xf39e('0x3c')](_0x2a9716);dials[_0xf39e('0x3c')](_0x2a9716);}catch(_0x4a3191){utils[_0xf39e('0x14')](util[_0xf39e('0x1a')](_0xf39e('0x3d'),_0x2a9716['uniqueid']),_0x4a3191);}});ami['on']('newchannel',function(_0x1bdd02){try{utils['debug'](util['format']('[%s][index][newchannel]',_0x1bdd02[_0xf39e('0x1d')]),_0x1bdd02);calls[_0xf39e('0x3e')](_0x1bdd02);recordings[_0xf39e('0x3e')](_0x1bdd02);}catch(_0x59b376){utils[_0xf39e('0x14')](util[_0xf39e('0x1a')]('[%s][index][newchannel]',_0x1bdd02['uniqueid']),_0x59b376);}});ami['on']('dialbegin',function(_0x48c87e){try{utils[_0xf39e('0x1b')](util['format'](_0xf39e('0x3f'),_0x48c87e['uniqueid']),_0x48c87e);dials[_0xf39e('0x40')](_0x48c87e);}catch(_0xa6dbe){utils[_0xf39e('0x14')](util[_0xf39e('0x1a')](_0xf39e('0x41'),_0x48c87e['uniqueid']),_0xa6dbe);}});ami['on'](_0xf39e('0x42'),function(_0xe73b06){try{utils[_0xf39e('0x1b')](util[_0xf39e('0x1a')]('[%s][index][dialend]',_0xe73b06[_0xf39e('0x1d')]),_0xe73b06);dials['dialend'](_0xe73b06);}catch(_0x46a0a9){utils[_0xf39e('0x14')](util[_0xf39e('0x1a')]('[%s][index][dialend]',_0xe73b06[_0xf39e('0x1d')]),_0x46a0a9);}});}