Built motion from commit b5a10faa.|2.6.13
[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 _0x66ec=['[%s][index][varset]','varset','newexten','[%s][index][newexten]','newchannel','[%s][index][newchannel]','dialbegin','[%s][index][dialbegin]','[%s]dialbegin','dialend','[%s][index][dialend]','asterisk-manager','../../config/environment','util','xdr','disabled','env','asterisk','port','username','keepConnected','info','XDR\x20DISABLED','Asterisk\x20disabled\x20on\x20localhost','./calls.controller','./recordings.controller','./members.controller','./dials.controller','./transfers.controller','./core.controller','connect','shutdown','fullybooted','error','close','managerevent','devicestatechange','format','[%s][index][devicestatechange]','device','debug','[%s][index][agentcalled]','uniqueid','[%s][index][agentringnoanswer]','agentringnoanswer','agentconnect','[%s][index][agentconnect]','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','[%s][index][queuecallerabandon]','queuecallerjoin','[%s][index][queuecallerjoin]','[%s][index][queuecallerleave]','queuecallerleave','musiconholdstart','[%s][index][musiconholdstart]','musiconholdstop','[%s][index][musiconholdstop]','newstate','[%s][index][newstate]','hangup','[%s][index][hangup]','cdr','[%s][index][cdr]','blindtransfer','attendedtransfer','[%s][index][attendedtransfer]','origtransfereruniqueid'];(function(_0x19bf5f,_0x1ca6b9){var _0x237efa=function(_0x18f2a3){while(--_0x18f2a3){_0x19bf5f['push'](_0x19bf5f['shift']());}};_0x237efa(++_0x1ca6b9);}(_0x66ec,0x95));var _0xc66e=function(_0x23f8c8,_0xb536b9){_0x23f8c8=_0x23f8c8-0x0;var _0x3dc718=_0x66ec[_0x23f8c8];return _0x3dc718;};var AsteriskManager=require(_0xc66e('0x0'));var config=require(_0xc66e('0x1'));var utils=require('./utils');var util=require(_0xc66e('0x2'));var isXDREnabled=config[_0xc66e('0x3')]&&config[_0xc66e('0x3')][_0xc66e('0x4')]?!config[_0xc66e('0x3')]['disabled']:!![];var isProduction=config[_0xc66e('0x5')]==='production'||![];var isLocalAsterisk=config[_0xc66e('0x3')]&&config[_0xc66e('0x3')]['local']===!![]||![];var ami=new AsteriskManager(config[_0xc66e('0x6')][_0xc66e('0x7')],config[_0xc66e('0x6')]['ip'],config[_0xc66e('0x6')][_0xc66e('0x8')],config['asterisk']['password'],!![]);ami[_0xc66e('0x9')]();if(!isXDREnabled){utils[_0xc66e('0xa')](_0xc66e('0xb'));}else if(!isProduction&&!isLocalAsterisk){utils['info'](_0xc66e('0xc'));}else{var agents=require('./agents.controller');var calls=require(_0xc66e('0xd'));var queues=require('./queues.controller');var recordings=require(_0xc66e('0xe'));var members=require(_0xc66e('0xf'));var dials=require(_0xc66e('0x10'));var transfers=require(_0xc66e('0x11'));var core=require(_0xc66e('0x12'));ami['on'](_0xc66e('0x13'),core[_0xc66e('0x13')]);ami['on']('shutdown',core[_0xc66e('0x14')]);ami['on'](_0xc66e('0x15'),core['fullybooted']);ami['on']('error',core[_0xc66e('0x16')]);ami['on'](_0xc66e('0x17'),core[_0xc66e('0x17')]);ami['on'](_0xc66e('0x18'),core[_0xc66e('0x18')]);ami['on'](_0xc66e('0x19'),function(_0x9aa5f2){try{utils['debug'](util[_0xc66e('0x1a')](_0xc66e('0x1b'),_0x9aa5f2[_0xc66e('0x1c')]),_0x9aa5f2);members[_0xc66e('0x19')](_0x9aa5f2);}catch(_0x53000c){utils[_0xc66e('0x16')](util[_0xc66e('0x1a')]('[%s][index][devicestatechange]',_0x9aa5f2['device']),_0x53000c);}});ami['on']('agentcalled',function(_0x374899){try{utils[_0xc66e('0x1d')](util[_0xc66e('0x1a')](_0xc66e('0x1e'),_0x374899[_0xc66e('0x1f')]),_0x374899);agents['agentcalled'](_0x374899);}catch(_0x2a512f){utils[_0xc66e('0x16')](util[_0xc66e('0x1a')](_0xc66e('0x1e'),_0x374899['uniqueid']),_0x2a512f);}});ami['on']('agentringnoanswer',function(_0x415dd3){try{utils['debug'](util[_0xc66e('0x1a')](_0xc66e('0x20'),_0x415dd3[_0xc66e('0x1f')]),_0x415dd3);agents[_0xc66e('0x21')](_0x415dd3);}catch(_0xf3feed){utils['error'](util[_0xc66e('0x1a')](_0xc66e('0x20'),_0x415dd3[_0xc66e('0x1f')]),_0xf3feed);}});ami['on'](_0xc66e('0x22'),function(_0x4ba0ae){try{utils[_0xc66e('0x1d')](util[_0xc66e('0x1a')](_0xc66e('0x23'),_0x4ba0ae[_0xc66e('0x1f')]),_0x4ba0ae);agents[_0xc66e('0x22')](_0x4ba0ae);queues['agentconnect'](_0x4ba0ae);}catch(_0x2a111d){utils[_0xc66e('0x16')](util[_0xc66e('0x1a')]('[%s][index][agentconnect]',_0x4ba0ae[_0xc66e('0x1f')]),_0x2a111d);}});ami['on'](_0xc66e('0x24'),function(_0x47bd76){try{utils['debug'](util['format'](_0xc66e('0x25'),_0x47bd76[_0xc66e('0x1f')]),_0x47bd76);agents[_0xc66e('0x24')](_0x47bd76);queues[_0xc66e('0x24')](_0x47bd76);members['agentcomplete'](_0x47bd76);}catch(_0x17ba7e){utils[_0xc66e('0x16')](util[_0xc66e('0x1a')]('[%s][index][agentcomplete]',_0x47bd76[_0xc66e('0x1f')]),_0x17ba7e);}});ami['on'](_0xc66e('0x26'),function(_0x1f76c8){try{utils[_0xc66e('0x1d')](util[_0xc66e('0x1a')](_0xc66e('0x27'),_0x1f76c8['uniqueid']),_0x1f76c8);agents['queuecallerabandon'](_0x1f76c8);queues['queuecallerabandon'](_0x1f76c8);}catch(_0x4d9a71){utils['error'](util[_0xc66e('0x1a')]('[%s][index][queuecallerabandon]',_0x1f76c8[_0xc66e('0x1f')]),_0x4d9a71);}});ami['on'](_0xc66e('0x28'),function(_0x5b029){try{utils[_0xc66e('0x1d')](util[_0xc66e('0x1a')](_0xc66e('0x29'),_0x5b029['uniqueid']),_0x5b029);queues[_0xc66e('0x28')](_0x5b029);recordings['queuecallerjoin'](_0x5b029);}catch(_0x1a9448){utils[_0xc66e('0x16')](util[_0xc66e('0x1a')](_0xc66e('0x29'),_0x5b029['uniqueid']),_0x1a9448);}});ami['on']('queuecallerleave',function(_0x17d48b){try{utils[_0xc66e('0x1d')](util[_0xc66e('0x1a')](_0xc66e('0x2a'),_0x17d48b[_0xc66e('0x1f')]),_0x17d48b);queues[_0xc66e('0x2b')](_0x17d48b);}catch(_0x19dfbc){utils[_0xc66e('0x16')](util[_0xc66e('0x1a')](_0xc66e('0x2a'),_0x17d48b[_0xc66e('0x1f')]),_0x19dfbc);}});ami['on'](_0xc66e('0x2c'),function(_0x49e8f8){try{utils[_0xc66e('0x1d')](util[_0xc66e('0x1a')](_0xc66e('0x2d'),_0x49e8f8[_0xc66e('0x1f')]),_0x49e8f8);queues[_0xc66e('0x2c')](_0x49e8f8);calls[_0xc66e('0x2c')](_0x49e8f8);}catch(_0x567e31){utils[_0xc66e('0x16')](util[_0xc66e('0x1a')]('[%s][index][musiconholdstart]',_0x49e8f8['uniqueid']),_0x567e31);}});ami['on'](_0xc66e('0x2e'),function(_0x22b0ef){try{utils[_0xc66e('0x1d')](util[_0xc66e('0x1a')]('[%s][index][musiconholdstop]',_0x22b0ef[_0xc66e('0x1f')]),_0x22b0ef);queues[_0xc66e('0x2e')](_0x22b0ef);calls[_0xc66e('0x2e')](_0x22b0ef);}catch(_0x27c11d){utils[_0xc66e('0x16')](util[_0xc66e('0x1a')](_0xc66e('0x2f'),_0x22b0ef[_0xc66e('0x1f')]),_0x27c11d);}});ami['on'](_0xc66e('0x30'),function(_0x8763a5){try{utils[_0xc66e('0x1d')](util[_0xc66e('0x1a')](_0xc66e('0x31'),_0x8763a5['uniqueid']),_0x8763a5);calls['newstate'](_0x8763a5);recordings[_0xc66e('0x30')](_0x8763a5);}catch(_0x17dd70){utils['error'](util[_0xc66e('0x1a')](_0xc66e('0x31'),_0x8763a5['uniqueid']),_0x17dd70);}});ami['on'](_0xc66e('0x32'),function(_0x2d9888){try{utils[_0xc66e('0x1d')](util[_0xc66e('0x1a')](_0xc66e('0x33'),_0x2d9888[_0xc66e('0x1f')]),_0x2d9888);calls['hangup'](_0x2d9888);recordings[_0xc66e('0x32')](_0x2d9888);dials[_0xc66e('0x32')](_0x2d9888);agents[_0xc66e('0x32')](_0x2d9888);queues['hangup'](_0x2d9888);}catch(_0xdf398){utils['error'](util[_0xc66e('0x1a')]('[%s][index][hangup]',_0x2d9888[_0xc66e('0x1f')]),_0xdf398);}});ami['on'](_0xc66e('0x34'),function(_0x4b5543){try{utils['debug'](util[_0xc66e('0x1a')](_0xc66e('0x35'),_0x4b5543[_0xc66e('0x1f')]),_0x4b5543);members['cdr'](_0x4b5543);}catch(_0x3514c8){utils[_0xc66e('0x16')](util[_0xc66e('0x1a')](_0xc66e('0x35'),_0x4b5543[_0xc66e('0x1f')]),_0x3514c8);}});ami['on'](_0xc66e('0x36'),function(_0x29de45){try{utils[_0xc66e('0x1d')](util['format']('[%s][index][blindtransfer]',_0x29de45['uniqueid']),_0x29de45);queues[_0xc66e('0x36')](_0x29de45);agents[_0xc66e('0x36')](_0x29de45);transfers[_0xc66e('0x36')](_0x29de45);recordings[_0xc66e('0x36')](_0x29de45);}catch(_0x2ffbbc){utils[_0xc66e('0x16')](util[_0xc66e('0x1a')]('[%s][index][blindtransfer]',_0x29de45['uniqueid']),_0x2ffbbc);}});ami['on'](_0xc66e('0x37'),function(_0x4d4090){try{utils['debug'](util[_0xc66e('0x1a')](_0xc66e('0x38'),_0x4d4090[_0xc66e('0x39')]),_0x4d4090);queues[_0xc66e('0x37')](_0x4d4090);transfers[_0xc66e('0x37')](_0x4d4090);agents['attendedtransfer'](_0x4d4090);calls[_0xc66e('0x37')](_0x4d4090);}catch(_0x1111fc){utils[_0xc66e('0x16')](util[_0xc66e('0x1a')](_0xc66e('0x38'),_0x4d4090['origtransfereruniqueid']),_0x1111fc);}});ami['on']('varset',function(_0x1cfe46){try{utils[_0xc66e('0x1d')](util[_0xc66e('0x1a')](_0xc66e('0x3a'),_0x1cfe46[_0xc66e('0x1f')]),_0x1cfe46);queues[_0xc66e('0x3b')](_0x1cfe46);recordings[_0xc66e('0x3b')](_0x1cfe46);calls[_0xc66e('0x3b')](_0x1cfe46);dials[_0xc66e('0x3b')](_0x1cfe46);}catch(_0xc57fae){utils[_0xc66e('0x16')](util[_0xc66e('0x1a')](_0xc66e('0x3a'),_0x1cfe46[_0xc66e('0x1f')]),_0xc57fae);}});ami['on'](_0xc66e('0x3c'),function(_0x245883){try{utils[_0xc66e('0x1d')](util['format'](_0xc66e('0x3d'),_0x245883[_0xc66e('0x1f')]),_0x245883);calls[_0xc66e('0x3c')](_0x245883);recordings[_0xc66e('0x3c')](_0x245883);dials[_0xc66e('0x3c')](_0x245883);}catch(_0xb22683){utils[_0xc66e('0x16')](util[_0xc66e('0x1a')]('[%s][index][newexten]',_0x245883[_0xc66e('0x1f')]),_0xb22683);}});ami['on'](_0xc66e('0x3e'),function(_0x5ca5d1){try{utils[_0xc66e('0x1d')](util[_0xc66e('0x1a')]('[%s][index][newchannel]',_0x5ca5d1[_0xc66e('0x1f')]),_0x5ca5d1);calls[_0xc66e('0x3e')](_0x5ca5d1);recordings['newchannel'](_0x5ca5d1);}catch(_0x243759){utils[_0xc66e('0x16')](util['format'](_0xc66e('0x3f'),_0x5ca5d1['uniqueid']),_0x243759);}});ami['on'](_0xc66e('0x40'),function(_0x26c6dd){try{utils[_0xc66e('0x1d')](util[_0xc66e('0x1a')](_0xc66e('0x41'),_0x26c6dd[_0xc66e('0x1f')]),_0x26c6dd);dials['dialbegin'](_0x26c6dd);}catch(_0x39e518){utils['error'](util['format'](_0xc66e('0x42'),_0x26c6dd[_0xc66e('0x1f')]),_0x39e518);}});ami['on'](_0xc66e('0x43'),function(_0x1d0df2){try{utils[_0xc66e('0x1d')](util[_0xc66e('0x1a')](_0xc66e('0x44'),_0x1d0df2[_0xc66e('0x1f')]),_0x1d0df2);dials[_0xc66e('0x43')](_0x1d0df2);}catch(_0x3ce209){utils[_0xc66e('0x16')](util['format'](_0xc66e('0x44'),_0x1d0df2['uniqueid']),_0x3ce209);}});}