Built motion from commit 10af8726.|2.6.34
[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 _0x76c8=['newchannel','[%s][index][newchannel]','dialbegin','[%s]dialbegin','dialend','[%s][index][dialend]','./utils','util','xdr','disabled','production','local','asterisk','port','username','password','keepConnected','XDR\x20DISABLED','info','Asterisk\x20disabled\x20on\x20localhost','./agents.controller','./calls.controller','./queues.controller','./recordings.controller','./members.controller','./dials.controller','./transfers.controller','connect','shutdown','fullybooted','error','close','managerevent','devicestatechange','format','[%s][index][devicestatechange]','device','debug','uniqueid','[%s][index][agentringnoanswer]','agentringnoanswer','agentconnect','[%s][index][agentconnect]','agentcomplete','[%s][index][agentcomplete]','[%s][index][queuecallerabandon]','queuecallerabandon','[%s][index][queuecallerjoin]','queuecallerjoin','queuecallerleave','[%s][index][queuecallerleave]','musiconholdstart','[%s][index][musiconholdstart]','musiconholdstop','[%s][index][musiconholdstop]','newstate','[%s][index][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]'];(function(_0x59cb28,_0x749de0){var _0x15e677=function(_0x1827a0){while(--_0x1827a0){_0x59cb28['push'](_0x59cb28['shift']());}};_0x15e677(++_0x749de0);}(_0x76c8,0x92));var _0x876c=function(_0x4810cf,_0x445002){_0x4810cf=_0x4810cf-0x0;var _0x513445=_0x76c8[_0x4810cf];return _0x513445;};var AsteriskManager=require('asterisk-manager');var config=require('../../config/environment');var utils=require(_0x876c('0x0'));var util=require(_0x876c('0x1'));var isXDREnabled=config[_0x876c('0x2')]&&config[_0x876c('0x2')][_0x876c('0x3')]?!config[_0x876c('0x2')][_0x876c('0x3')]:!![];var isProduction=config['env']===_0x876c('0x4')||![];var isLocalAsterisk=config[_0x876c('0x2')]&&config[_0x876c('0x2')][_0x876c('0x5')]===!![]||![];var ami=new AsteriskManager(config[_0x876c('0x6')][_0x876c('0x7')],config['asterisk']['ip'],config[_0x876c('0x6')][_0x876c('0x8')],config[_0x876c('0x6')][_0x876c('0x9')],!![]);ami[_0x876c('0xa')]();if(!isXDREnabled){utils['info'](_0x876c('0xb'));}else if(!isProduction&&!isLocalAsterisk){utils[_0x876c('0xc')](_0x876c('0xd'));}else{var agents=require(_0x876c('0xe'));var calls=require(_0x876c('0xf'));var queues=require(_0x876c('0x10'));var recordings=require(_0x876c('0x11'));var members=require(_0x876c('0x12'));var dials=require(_0x876c('0x13'));var transfers=require(_0x876c('0x14'));var core=require('./core.controller');ami['on'](_0x876c('0x15'),core[_0x876c('0x15')]);ami['on'](_0x876c('0x16'),core[_0x876c('0x16')]);ami['on'](_0x876c('0x17'),core[_0x876c('0x17')]);ami['on'](_0x876c('0x18'),core[_0x876c('0x18')]);ami['on'](_0x876c('0x19'),core[_0x876c('0x19')]);ami['on'](_0x876c('0x1a'),core['managerevent']);ami['on'](_0x876c('0x1b'),function(_0x25eb60){try{utils['debug'](util[_0x876c('0x1c')](_0x876c('0x1d'),_0x25eb60[_0x876c('0x1e')]),_0x25eb60);members[_0x876c('0x1b')](_0x25eb60);}catch(_0x51c72c){utils['error'](util[_0x876c('0x1c')](_0x876c('0x1d'),_0x25eb60[_0x876c('0x1e')]),_0x51c72c);}});ami['on']('agentcalled',function(_0x88a3b1){try{utils[_0x876c('0x1f')](util[_0x876c('0x1c')]('[%s][index][agentcalled]',_0x88a3b1[_0x876c('0x20')]),_0x88a3b1);agents['agentcalled'](_0x88a3b1);}catch(_0x926004){utils[_0x876c('0x18')](util['format']('[%s][index][agentcalled]',_0x88a3b1['uniqueid']),_0x926004);}});ami['on']('agentringnoanswer',function(_0x26b0f1){try{utils['debug'](util[_0x876c('0x1c')](_0x876c('0x21'),_0x26b0f1[_0x876c('0x20')]),_0x26b0f1);agents[_0x876c('0x22')](_0x26b0f1);}catch(_0x5f36f3){utils[_0x876c('0x18')](util[_0x876c('0x1c')](_0x876c('0x21'),_0x26b0f1[_0x876c('0x20')]),_0x5f36f3);}});ami['on'](_0x876c('0x23'),function(_0x4185fa){try{utils[_0x876c('0x1f')](util[_0x876c('0x1c')](_0x876c('0x24'),_0x4185fa[_0x876c('0x20')]),_0x4185fa);agents[_0x876c('0x23')](_0x4185fa);queues[_0x876c('0x23')](_0x4185fa);}catch(_0x39cf77){utils[_0x876c('0x18')](util[_0x876c('0x1c')](_0x876c('0x24'),_0x4185fa[_0x876c('0x20')]),_0x39cf77);}});ami['on'](_0x876c('0x25'),function(_0x410dfc){try{utils[_0x876c('0x1f')](util[_0x876c('0x1c')](_0x876c('0x26'),_0x410dfc['uniqueid']),_0x410dfc);agents[_0x876c('0x25')](_0x410dfc);queues[_0x876c('0x25')](_0x410dfc);members[_0x876c('0x25')](_0x410dfc);}catch(_0xac83b){utils['error'](util[_0x876c('0x1c')](_0x876c('0x26'),_0x410dfc[_0x876c('0x20')]),_0xac83b);}});ami['on']('queuecallerabandon',function(_0x160a5e){try{utils[_0x876c('0x1f')](util[_0x876c('0x1c')](_0x876c('0x27'),_0x160a5e[_0x876c('0x20')]),_0x160a5e);agents[_0x876c('0x28')](_0x160a5e);queues[_0x876c('0x28')](_0x160a5e);}catch(_0x2fd2ec){utils[_0x876c('0x18')](util[_0x876c('0x1c')]('[%s][index][queuecallerabandon]',_0x160a5e[_0x876c('0x20')]),_0x2fd2ec);}});ami['on']('queuecallerjoin',function(_0x2ee10c){try{utils[_0x876c('0x1f')](util[_0x876c('0x1c')](_0x876c('0x29'),_0x2ee10c[_0x876c('0x20')]),_0x2ee10c);queues[_0x876c('0x2a')](_0x2ee10c);recordings[_0x876c('0x2a')](_0x2ee10c);}catch(_0x2ecc20){utils[_0x876c('0x18')](util[_0x876c('0x1c')](_0x876c('0x29'),_0x2ee10c['uniqueid']),_0x2ecc20);}});ami['on'](_0x876c('0x2b'),function(_0x60043c){try{utils[_0x876c('0x1f')](util[_0x876c('0x1c')](_0x876c('0x2c'),_0x60043c[_0x876c('0x20')]),_0x60043c);queues[_0x876c('0x2b')](_0x60043c);}catch(_0x4bffe2){utils['error'](util[_0x876c('0x1c')]('[%s][index][queuecallerleave]',_0x60043c['uniqueid']),_0x4bffe2);}});ami['on'](_0x876c('0x2d'),function(_0x3995aa){try{utils[_0x876c('0x1f')](util[_0x876c('0x1c')](_0x876c('0x2e'),_0x3995aa[_0x876c('0x20')]),_0x3995aa);queues['musiconholdstart'](_0x3995aa);calls[_0x876c('0x2d')](_0x3995aa);}catch(_0x421701){utils[_0x876c('0x18')](util[_0x876c('0x1c')](_0x876c('0x2e'),_0x3995aa[_0x876c('0x20')]),_0x421701);}});ami['on'](_0x876c('0x2f'),function(_0xe42da1){try{utils['debug'](util['format'](_0x876c('0x30'),_0xe42da1['uniqueid']),_0xe42da1);queues['musiconholdstop'](_0xe42da1);calls['musiconholdstop'](_0xe42da1);}catch(_0xa01074){utils[_0x876c('0x18')](util[_0x876c('0x1c')](_0x876c('0x30'),_0xe42da1[_0x876c('0x20')]),_0xa01074);}});ami['on'](_0x876c('0x31'),function(_0x783045){try{utils[_0x876c('0x1f')](util[_0x876c('0x1c')](_0x876c('0x32'),_0x783045[_0x876c('0x20')]),_0x783045);calls['newstate'](_0x783045);recordings[_0x876c('0x31')](_0x783045);}catch(_0x453321){utils['error'](util['format'](_0x876c('0x32'),_0x783045['uniqueid']),_0x453321);}});ami['on'](_0x876c('0x33'),function(_0x50bbf3){try{utils[_0x876c('0x1f')](util['format'](_0x876c('0x34'),_0x50bbf3[_0x876c('0x20')]),_0x50bbf3);calls[_0x876c('0x33')](_0x50bbf3);recordings['hangup'](_0x50bbf3);dials[_0x876c('0x33')](_0x50bbf3);agents[_0x876c('0x33')](_0x50bbf3);queues[_0x876c('0x33')](_0x50bbf3);}catch(_0x1040a4){utils['error'](util[_0x876c('0x1c')]('[%s][index][hangup]',_0x50bbf3[_0x876c('0x20')]),_0x1040a4);}});ami['on'](_0x876c('0x35'),function(_0x39250f){try{utils['debug'](util[_0x876c('0x1c')]('[%s][index][cdr]',_0x39250f[_0x876c('0x20')]),_0x39250f);members[_0x876c('0x35')](_0x39250f);}catch(_0x3207f2){utils[_0x876c('0x18')](util[_0x876c('0x1c')](_0x876c('0x36'),_0x39250f[_0x876c('0x20')]),_0x3207f2);}});ami['on'](_0x876c('0x37'),function(_0x1e05be){try{utils[_0x876c('0x1f')](util[_0x876c('0x1c')](_0x876c('0x38'),_0x1e05be[_0x876c('0x20')]),_0x1e05be);queues[_0x876c('0x37')](_0x1e05be);agents[_0x876c('0x37')](_0x1e05be);transfers[_0x876c('0x37')](_0x1e05be);}catch(_0x29898e){utils[_0x876c('0x18')](util[_0x876c('0x1c')](_0x876c('0x38'),_0x1e05be['uniqueid']),_0x29898e);}});ami['on'](_0x876c('0x39'),function(_0xeb7664){try{utils[_0x876c('0x1f')](util[_0x876c('0x1c')](_0x876c('0x3a'),_0xeb7664[_0x876c('0x3b')]),_0xeb7664);queues[_0x876c('0x39')](_0xeb7664);transfers[_0x876c('0x39')](_0xeb7664);agents[_0x876c('0x39')](_0xeb7664);calls[_0x876c('0x39')](_0xeb7664);}catch(_0x50d0b8){utils[_0x876c('0x18')](util[_0x876c('0x1c')](_0x876c('0x3a'),_0xeb7664[_0x876c('0x3b')]),_0x50d0b8);}});ami['on'](_0x876c('0x3c'),function(_0x20f695){try{utils[_0x876c('0x1f')](util[_0x876c('0x1c')]('[%s][index][varset]',_0x20f695['uniqueid']),_0x20f695);queues[_0x876c('0x3c')](_0x20f695);recordings[_0x876c('0x3c')](_0x20f695);calls['varset'](_0x20f695);dials[_0x876c('0x3c')](_0x20f695);}catch(_0x192a08){utils[_0x876c('0x18')](util[_0x876c('0x1c')](_0x876c('0x3d'),_0x20f695[_0x876c('0x20')]),_0x192a08);}});ami['on'](_0x876c('0x3e'),function(_0x550e66){try{utils['debug'](util[_0x876c('0x1c')]('[%s][index][newexten]',_0x550e66[_0x876c('0x20')]),_0x550e66);calls[_0x876c('0x3e')](_0x550e66);recordings[_0x876c('0x3e')](_0x550e66);dials[_0x876c('0x3e')](_0x550e66);}catch(_0x173de1){utils['error'](util[_0x876c('0x1c')](_0x876c('0x3f'),_0x550e66[_0x876c('0x20')]),_0x173de1);}});ami['on'](_0x876c('0x40'),function(_0x485446){try{utils[_0x876c('0x1f')](util[_0x876c('0x1c')](_0x876c('0x41'),_0x485446[_0x876c('0x20')]),_0x485446);calls['newchannel'](_0x485446);recordings[_0x876c('0x40')](_0x485446);}catch(_0x172fa9){utils['error'](util['format']('[%s][index][newchannel]',_0x485446['uniqueid']),_0x172fa9);}});ami['on'](_0x876c('0x42'),function(_0x3946d5){try{utils[_0x876c('0x1f')](util[_0x876c('0x1c')]('[%s][index][dialbegin]',_0x3946d5[_0x876c('0x20')]),_0x3946d5);dials[_0x876c('0x42')](_0x3946d5);}catch(_0x2cb933){utils[_0x876c('0x18')](util['format'](_0x876c('0x43'),_0x3946d5[_0x876c('0x20')]),_0x2cb933);}});ami['on'](_0x876c('0x44'),function(_0x599b39){try{utils[_0x876c('0x1f')](util[_0x876c('0x1c')](_0x876c('0x45'),_0x599b39[_0x876c('0x20')]),_0x599b39);dials['dialend'](_0x599b39);}catch(_0x4089dd){utils['error'](util[_0x876c('0x1c')](_0x876c('0x45'),_0x599b39[_0x876c('0x20')]),_0x4089dd);}});}