Built motion from commit da617fac.|2.6.6
[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 _0xf3c6=['agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','[%s][index][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]','cdr','[%s][index][blindtransfer]','blindtransfer','attendedtransfer','[%s][index][attendedtransfer]','varset','[%s][index][varset]','newexten','[%s][index][newexten]','newchannel','dialbegin','[%s][index][dialbegin]','[%s]dialbegin','[%s][index][dialend]','dialend','asterisk-manager','../../config/environment','./utils','xdr','disabled','env','production','local','asterisk','username','password','keepConnected','XDR\x20DISABLED','Asterisk\x20disabled\x20on\x20localhost','./agents.controller','./queues.controller','./recordings.controller','./dials.controller','./transfers.controller','./core.controller','connect','shutdown','fullybooted','error','close','devicestatechange','debug','[%s][index][devicestatechange]','device','format','[%s][index][agentcalled]','uniqueid','agentcalled','[%s][index][agentringnoanswer]','agentringnoanswer','agentconnect','[%s][index][agentconnect]'];(function(_0x55f8b4,_0x43f30d){var _0x2475f9=function(_0xdd6f4a){while(--_0xdd6f4a){_0x55f8b4['push'](_0x55f8b4['shift']());}};_0x2475f9(++_0x43f30d);}(_0xf3c6,0x173));var _0x6f3c=function(_0x13321a,_0x273c96){_0x13321a=_0x13321a-0x0;var _0x452c07=_0xf3c6[_0x13321a];return _0x452c07;};var AsteriskManager=require(_0x6f3c('0x0'));var config=require(_0x6f3c('0x1'));var utils=require(_0x6f3c('0x2'));var util=require('util');var isXDREnabled=config[_0x6f3c('0x3')]&&config[_0x6f3c('0x3')][_0x6f3c('0x4')]?!config[_0x6f3c('0x3')][_0x6f3c('0x4')]:!![];var isProduction=config[_0x6f3c('0x5')]===_0x6f3c('0x6')||![];var isLocalAsterisk=config[_0x6f3c('0x3')]&&config[_0x6f3c('0x3')][_0x6f3c('0x7')]===!![]||![];var ami=new AsteriskManager(config[_0x6f3c('0x8')]['port'],config[_0x6f3c('0x8')]['ip'],config[_0x6f3c('0x8')][_0x6f3c('0x9')],config['asterisk'][_0x6f3c('0xa')],!![]);ami[_0x6f3c('0xb')]();if(!isXDREnabled){utils['info'](_0x6f3c('0xc'));}else if(!isProduction&&!isLocalAsterisk){utils['info'](_0x6f3c('0xd'));}else{var agents=require(_0x6f3c('0xe'));var calls=require('./calls.controller');var queues=require(_0x6f3c('0xf'));var recordings=require(_0x6f3c('0x10'));var members=require('./members.controller');var dials=require(_0x6f3c('0x11'));var transfers=require(_0x6f3c('0x12'));var core=require(_0x6f3c('0x13'));ami['on']('connect',core[_0x6f3c('0x14')]);ami['on'](_0x6f3c('0x15'),core['shutdown']);ami['on'](_0x6f3c('0x16'),core[_0x6f3c('0x16')]);ami['on'](_0x6f3c('0x17'),core[_0x6f3c('0x17')]);ami['on'](_0x6f3c('0x18'),core[_0x6f3c('0x18')]);ami['on']('managerevent',core['managerevent']);ami['on'](_0x6f3c('0x19'),function(_0x14e9b9){try{utils[_0x6f3c('0x1a')](util['format'](_0x6f3c('0x1b'),_0x14e9b9[_0x6f3c('0x1c')]),_0x14e9b9);members[_0x6f3c('0x19')](_0x14e9b9);}catch(_0x1169fb){utils[_0x6f3c('0x17')](util['format'](_0x6f3c('0x1b'),_0x14e9b9['device']),_0x1169fb);}});ami['on']('agentcalled',function(_0x26bcba){try{utils['debug'](util[_0x6f3c('0x1d')](_0x6f3c('0x1e'),_0x26bcba[_0x6f3c('0x1f')]),_0x26bcba);agents[_0x6f3c('0x20')](_0x26bcba);}catch(_0x301a49){utils[_0x6f3c('0x17')](util[_0x6f3c('0x1d')]('[%s][index][agentcalled]',_0x26bcba[_0x6f3c('0x1f')]),_0x301a49);}});ami['on']('agentringnoanswer',function(_0x165f28){try{utils[_0x6f3c('0x1a')](util[_0x6f3c('0x1d')](_0x6f3c('0x21'),_0x165f28[_0x6f3c('0x1f')]),_0x165f28);agents[_0x6f3c('0x22')](_0x165f28);}catch(_0x24f47b){utils[_0x6f3c('0x17')](util[_0x6f3c('0x1d')](_0x6f3c('0x21'),_0x165f28['uniqueid']),_0x24f47b);}});ami['on'](_0x6f3c('0x23'),function(_0x2a688f){try{utils['debug'](util[_0x6f3c('0x1d')](_0x6f3c('0x24'),_0x2a688f['uniqueid']),_0x2a688f);agents[_0x6f3c('0x23')](_0x2a688f);queues['agentconnect'](_0x2a688f);}catch(_0x3ba4fc){utils[_0x6f3c('0x17')](util[_0x6f3c('0x1d')](_0x6f3c('0x24'),_0x2a688f[_0x6f3c('0x1f')]),_0x3ba4fc);}});ami['on'](_0x6f3c('0x25'),function(_0x120a50){try{utils[_0x6f3c('0x1a')](util[_0x6f3c('0x1d')](_0x6f3c('0x26'),_0x120a50[_0x6f3c('0x1f')]),_0x120a50);agents['agentcomplete'](_0x120a50);queues['agentcomplete'](_0x120a50);members['agentcomplete'](_0x120a50);}catch(_0x11e5fa){utils[_0x6f3c('0x17')](util[_0x6f3c('0x1d')](_0x6f3c('0x26'),_0x120a50['uniqueid']),_0x11e5fa);}});ami['on'](_0x6f3c('0x27'),function(_0x58e53d){try{utils[_0x6f3c('0x1a')](util[_0x6f3c('0x1d')](_0x6f3c('0x28'),_0x58e53d[_0x6f3c('0x1f')]),_0x58e53d);agents[_0x6f3c('0x27')](_0x58e53d);queues[_0x6f3c('0x27')](_0x58e53d);}catch(_0x1ee0f1){utils[_0x6f3c('0x17')](util[_0x6f3c('0x1d')](_0x6f3c('0x28'),_0x58e53d[_0x6f3c('0x1f')]),_0x1ee0f1);}});ami['on'](_0x6f3c('0x29'),function(_0x272bea){try{utils[_0x6f3c('0x1a')](util['format'](_0x6f3c('0x2a'),_0x272bea[_0x6f3c('0x1f')]),_0x272bea);queues[_0x6f3c('0x29')](_0x272bea);recordings['queuecallerjoin'](_0x272bea);}catch(_0x590b4c){utils[_0x6f3c('0x17')](util[_0x6f3c('0x1d')]('[%s][index][queuecallerjoin]',_0x272bea['uniqueid']),_0x590b4c);}});ami['on'](_0x6f3c('0x2b'),function(_0x3ea613){try{utils[_0x6f3c('0x1a')](util[_0x6f3c('0x1d')](_0x6f3c('0x2c'),_0x3ea613[_0x6f3c('0x1f')]),_0x3ea613);queues[_0x6f3c('0x2b')](_0x3ea613);}catch(_0x14394a){utils[_0x6f3c('0x17')](util[_0x6f3c('0x1d')](_0x6f3c('0x2c'),_0x3ea613[_0x6f3c('0x1f')]),_0x14394a);}});ami['on'](_0x6f3c('0x2d'),function(_0x439398){try{utils[_0x6f3c('0x1a')](util[_0x6f3c('0x1d')](_0x6f3c('0x2e'),_0x439398[_0x6f3c('0x1f')]),_0x439398);queues[_0x6f3c('0x2d')](_0x439398);calls['musiconholdstart'](_0x439398);}catch(_0x4e8e26){utils[_0x6f3c('0x17')](util[_0x6f3c('0x1d')](_0x6f3c('0x2e'),_0x439398[_0x6f3c('0x1f')]),_0x4e8e26);}});ami['on'](_0x6f3c('0x2f'),function(_0x41b67e){try{utils[_0x6f3c('0x1a')](util['format'](_0x6f3c('0x30'),_0x41b67e[_0x6f3c('0x1f')]),_0x41b67e);queues[_0x6f3c('0x2f')](_0x41b67e);calls[_0x6f3c('0x2f')](_0x41b67e);}catch(_0x20a8d6){utils['error'](util[_0x6f3c('0x1d')](_0x6f3c('0x30'),_0x41b67e[_0x6f3c('0x1f')]),_0x20a8d6);}});ami['on'](_0x6f3c('0x31'),function(_0x4294aa){try{utils[_0x6f3c('0x1a')](util[_0x6f3c('0x1d')](_0x6f3c('0x32'),_0x4294aa[_0x6f3c('0x1f')]),_0x4294aa);calls[_0x6f3c('0x31')](_0x4294aa);recordings[_0x6f3c('0x31')](_0x4294aa);}catch(_0x213392){utils['error'](util[_0x6f3c('0x1d')](_0x6f3c('0x32'),_0x4294aa[_0x6f3c('0x1f')]),_0x213392);}});ami['on'](_0x6f3c('0x33'),function(_0x343edc){try{utils[_0x6f3c('0x1a')](util['format'](_0x6f3c('0x34'),_0x343edc[_0x6f3c('0x1f')]),_0x343edc);calls[_0x6f3c('0x33')](_0x343edc);recordings['hangup'](_0x343edc);dials['hangup'](_0x343edc);agents[_0x6f3c('0x33')](_0x343edc);queues[_0x6f3c('0x33')](_0x343edc);}catch(_0x3c9a6a){utils['error'](util[_0x6f3c('0x1d')](_0x6f3c('0x34'),_0x343edc['uniqueid']),_0x3c9a6a);}});ami['on'](_0x6f3c('0x35'),function(_0x312fab){try{utils['debug'](util[_0x6f3c('0x1d')]('[%s][index][cdr]',_0x312fab[_0x6f3c('0x1f')]),_0x312fab);members[_0x6f3c('0x35')](_0x312fab);}catch(_0x12c6e0){utils['error'](util[_0x6f3c('0x1d')]('[%s][index][cdr]',_0x312fab[_0x6f3c('0x1f')]),_0x12c6e0);}});ami['on']('blindtransfer',function(_0x5dbe27){try{utils[_0x6f3c('0x1a')](util['format'](_0x6f3c('0x36'),_0x5dbe27[_0x6f3c('0x1f')]),_0x5dbe27);queues['blindtransfer'](_0x5dbe27);agents[_0x6f3c('0x37')](_0x5dbe27);transfers[_0x6f3c('0x37')](_0x5dbe27);recordings[_0x6f3c('0x37')](_0x5dbe27);}catch(_0x2365ce){utils[_0x6f3c('0x17')](util[_0x6f3c('0x1d')](_0x6f3c('0x36'),_0x5dbe27[_0x6f3c('0x1f')]),_0x2365ce);}});ami['on'](_0x6f3c('0x38'),function(_0x140740){try{utils[_0x6f3c('0x1a')](util['format'](_0x6f3c('0x39'),_0x140740['origtransfereruniqueid']),_0x140740);queues[_0x6f3c('0x38')](_0x140740);transfers[_0x6f3c('0x38')](_0x140740);agents[_0x6f3c('0x38')](_0x140740);calls[_0x6f3c('0x38')](_0x140740);}catch(_0x1a0280){utils[_0x6f3c('0x17')](util['format'](_0x6f3c('0x39'),_0x140740['origtransfereruniqueid']),_0x1a0280);}});ami['on'](_0x6f3c('0x3a'),function(_0x4f713c){try{utils[_0x6f3c('0x1a')](util[_0x6f3c('0x1d')](_0x6f3c('0x3b'),_0x4f713c['uniqueid']),_0x4f713c);queues[_0x6f3c('0x3a')](_0x4f713c);recordings['varset'](_0x4f713c);calls[_0x6f3c('0x3a')](_0x4f713c);dials[_0x6f3c('0x3a')](_0x4f713c);}catch(_0x31933e){utils[_0x6f3c('0x17')](util[_0x6f3c('0x1d')](_0x6f3c('0x3b'),_0x4f713c['uniqueid']),_0x31933e);}});ami['on'](_0x6f3c('0x3c'),function(_0x15dc56){try{utils['debug'](util[_0x6f3c('0x1d')](_0x6f3c('0x3d'),_0x15dc56[_0x6f3c('0x1f')]),_0x15dc56);calls[_0x6f3c('0x3c')](_0x15dc56);recordings[_0x6f3c('0x3c')](_0x15dc56);dials[_0x6f3c('0x3c')](_0x15dc56);}catch(_0x5b5c50){utils['error'](util['format'](_0x6f3c('0x3d'),_0x15dc56[_0x6f3c('0x1f')]),_0x5b5c50);}});ami['on'](_0x6f3c('0x3e'),function(_0x34f02c){try{utils[_0x6f3c('0x1a')](util[_0x6f3c('0x1d')]('[%s][index][newchannel]',_0x34f02c[_0x6f3c('0x1f')]),_0x34f02c);calls[_0x6f3c('0x3e')](_0x34f02c);recordings[_0x6f3c('0x3e')](_0x34f02c);}catch(_0x818461){utils[_0x6f3c('0x17')](util[_0x6f3c('0x1d')]('[%s][index][newchannel]',_0x34f02c[_0x6f3c('0x1f')]),_0x818461);}});ami['on'](_0x6f3c('0x3f'),function(_0x369680){try{utils[_0x6f3c('0x1a')](util[_0x6f3c('0x1d')](_0x6f3c('0x40'),_0x369680[_0x6f3c('0x1f')]),_0x369680);dials['dialbegin'](_0x369680);}catch(_0xbdc8aa){utils['error'](util[_0x6f3c('0x1d')](_0x6f3c('0x41'),_0x369680['uniqueid']),_0xbdc8aa);}});ami['on']('dialend',function(_0xcc18e6){try{utils['debug'](util[_0x6f3c('0x1d')](_0x6f3c('0x42'),_0xcc18e6[_0x6f3c('0x1f')]),_0xcc18e6);dials[_0x6f3c('0x43')](_0xcc18e6);}catch(_0x2529da){utils['error'](util['format'](_0x6f3c('0x42'),_0xcc18e6[_0x6f3c('0x1f')]),_0x2529da);}});}