Built motion from commit efa66e19.|2.6.22
[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 _0x0b25=['queuecallerjoin','[%s][index][queuecallerjoin]','[%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]','newchannel','[%s][index][newchannel]','dialbegin','[%s]dialbegin','dialend','asterisk-manager','../../config/environment','./utils','util','xdr','disabled','production','asterisk','username','password','keepConnected','XDR\x20DISABLED','info','./agents.controller','./calls.controller','./recordings.controller','./members.controller','./dials.controller','./transfers.controller','./core.controller','connect','shutdown','fullybooted','error','close','managerevent','devicestatechange','debug','format','device','agentcalled','[%s][index][agentcalled]','uniqueid','agentringnoanswer','agentconnect','[%s][index][agentconnect]','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','[%s][index][queuecallerabandon]'];(function(_0x13103d,_0x5637bd){var _0x2f4f97=function(_0x3d796d){while(--_0x3d796d){_0x13103d['push'](_0x13103d['shift']());}};_0x2f4f97(++_0x5637bd);}(_0x0b25,0x1ad));var _0x50b2=function(_0xf9a6cf,_0x11870e){_0xf9a6cf=_0xf9a6cf-0x0;var _0x59e2bc=_0x0b25[_0xf9a6cf];return _0x59e2bc;};var AsteriskManager=require(_0x50b2('0x0'));var config=require(_0x50b2('0x1'));var utils=require(_0x50b2('0x2'));var util=require(_0x50b2('0x3'));var isXDREnabled=config['xdr']&&config['xdr']['disabled']?!config[_0x50b2('0x4')][_0x50b2('0x5')]:!![];var isProduction=config['env']===_0x50b2('0x6')||![];var isLocalAsterisk=config['xdr']&&config[_0x50b2('0x4')]['local']===!![]||![];var ami=new AsteriskManager(config[_0x50b2('0x7')]['port'],config[_0x50b2('0x7')]['ip'],config[_0x50b2('0x7')][_0x50b2('0x8')],config[_0x50b2('0x7')][_0x50b2('0x9')],!![]);ami[_0x50b2('0xa')]();if(!isXDREnabled){utils['info'](_0x50b2('0xb'));}else if(!isProduction&&!isLocalAsterisk){utils[_0x50b2('0xc')]('Asterisk\x20disabled\x20on\x20localhost');}else{var agents=require(_0x50b2('0xd'));var calls=require(_0x50b2('0xe'));var queues=require('./queues.controller');var recordings=require(_0x50b2('0xf'));var members=require(_0x50b2('0x10'));var dials=require(_0x50b2('0x11'));var transfers=require(_0x50b2('0x12'));var core=require(_0x50b2('0x13'));ami['on']('connect',core[_0x50b2('0x14')]);ami['on'](_0x50b2('0x15'),core['shutdown']);ami['on'](_0x50b2('0x16'),core[_0x50b2('0x16')]);ami['on']('error',core[_0x50b2('0x17')]);ami['on'](_0x50b2('0x18'),core[_0x50b2('0x18')]);ami['on'](_0x50b2('0x19'),core[_0x50b2('0x19')]);ami['on'](_0x50b2('0x1a'),function(_0x462d3e){try{utils[_0x50b2('0x1b')](util[_0x50b2('0x1c')]('[%s][index][devicestatechange]',_0x462d3e[_0x50b2('0x1d')]),_0x462d3e);members[_0x50b2('0x1a')](_0x462d3e);}catch(_0x220270){utils[_0x50b2('0x17')](util[_0x50b2('0x1c')]('[%s][index][devicestatechange]',_0x462d3e[_0x50b2('0x1d')]),_0x220270);}});ami['on']('agentcalled',function(_0xe52083){try{utils[_0x50b2('0x1b')](util[_0x50b2('0x1c')]('[%s][index][agentcalled]',_0xe52083['uniqueid']),_0xe52083);agents[_0x50b2('0x1e')](_0xe52083);}catch(_0x5e56d7){utils[_0x50b2('0x17')](util[_0x50b2('0x1c')](_0x50b2('0x1f'),_0xe52083[_0x50b2('0x20')]),_0x5e56d7);}});ami['on'](_0x50b2('0x21'),function(_0x4b0a49){try{utils['debug'](util[_0x50b2('0x1c')]('[%s][index][agentringnoanswer]',_0x4b0a49[_0x50b2('0x20')]),_0x4b0a49);agents['agentringnoanswer'](_0x4b0a49);}catch(_0x11ac7a){utils[_0x50b2('0x17')](util[_0x50b2('0x1c')]('[%s][index][agentringnoanswer]',_0x4b0a49[_0x50b2('0x20')]),_0x11ac7a);}});ami['on']('agentconnect',function(_0x481ed8){try{utils['debug'](util[_0x50b2('0x1c')]('[%s][index][agentconnect]',_0x481ed8[_0x50b2('0x20')]),_0x481ed8);agents[_0x50b2('0x22')](_0x481ed8);queues['agentconnect'](_0x481ed8);}catch(_0x23453e){utils[_0x50b2('0x17')](util[_0x50b2('0x1c')](_0x50b2('0x23'),_0x481ed8[_0x50b2('0x20')]),_0x23453e);}});ami['on'](_0x50b2('0x24'),function(_0x124740){try{utils['debug'](util[_0x50b2('0x1c')](_0x50b2('0x25'),_0x124740[_0x50b2('0x20')]),_0x124740);agents[_0x50b2('0x24')](_0x124740);queues['agentcomplete'](_0x124740);members['agentcomplete'](_0x124740);}catch(_0x25f372){utils['error'](util[_0x50b2('0x1c')](_0x50b2('0x25'),_0x124740['uniqueid']),_0x25f372);}});ami['on'](_0x50b2('0x26'),function(_0xf29f27){try{utils[_0x50b2('0x1b')](util['format']('[%s][index][queuecallerabandon]',_0xf29f27[_0x50b2('0x20')]),_0xf29f27);agents[_0x50b2('0x26')](_0xf29f27);queues[_0x50b2('0x26')](_0xf29f27);}catch(_0x12decb){utils[_0x50b2('0x17')](util[_0x50b2('0x1c')](_0x50b2('0x27'),_0xf29f27['uniqueid']),_0x12decb);}});ami['on'](_0x50b2('0x28'),function(_0x3a6c54){try{utils[_0x50b2('0x1b')](util[_0x50b2('0x1c')](_0x50b2('0x29'),_0x3a6c54[_0x50b2('0x20')]),_0x3a6c54);queues['queuecallerjoin'](_0x3a6c54);recordings[_0x50b2('0x28')](_0x3a6c54);}catch(_0xa57406){utils['error'](util[_0x50b2('0x1c')](_0x50b2('0x29'),_0x3a6c54[_0x50b2('0x20')]),_0xa57406);}});ami['on']('queuecallerleave',function(_0x468cd9){try{utils[_0x50b2('0x1b')](util[_0x50b2('0x1c')](_0x50b2('0x2a'),_0x468cd9['uniqueid']),_0x468cd9);queues['queuecallerleave'](_0x468cd9);}catch(_0x48c489){utils[_0x50b2('0x17')](util[_0x50b2('0x1c')]('[%s][index][queuecallerleave]',_0x468cd9[_0x50b2('0x20')]),_0x48c489);}});ami['on'](_0x50b2('0x2b'),function(_0x4ded49){try{utils['debug'](util[_0x50b2('0x1c')](_0x50b2('0x2c'),_0x4ded49[_0x50b2('0x20')]),_0x4ded49);queues['musiconholdstart'](_0x4ded49);calls[_0x50b2('0x2b')](_0x4ded49);}catch(_0x2ca55e){utils[_0x50b2('0x17')](util['format'](_0x50b2('0x2c'),_0x4ded49[_0x50b2('0x20')]),_0x2ca55e);}});ami['on'](_0x50b2('0x2d'),function(_0x28692c){try{utils['debug'](util[_0x50b2('0x1c')](_0x50b2('0x2e'),_0x28692c['uniqueid']),_0x28692c);queues[_0x50b2('0x2d')](_0x28692c);calls['musiconholdstop'](_0x28692c);}catch(_0x6f26a7){utils['error'](util[_0x50b2('0x1c')](_0x50b2('0x2e'),_0x28692c['uniqueid']),_0x6f26a7);}});ami['on']('newstate',function(_0x43a856){try{utils[_0x50b2('0x1b')](util[_0x50b2('0x1c')]('[%s][index][newstate]',_0x43a856[_0x50b2('0x20')]),_0x43a856);calls[_0x50b2('0x2f')](_0x43a856);recordings[_0x50b2('0x2f')](_0x43a856);}catch(_0x4bcadc){utils[_0x50b2('0x17')](util[_0x50b2('0x1c')](_0x50b2('0x30'),_0x43a856['uniqueid']),_0x4bcadc);}});ami['on'](_0x50b2('0x31'),function(_0x3d9c32){try{utils['debug'](util[_0x50b2('0x1c')](_0x50b2('0x32'),_0x3d9c32[_0x50b2('0x20')]),_0x3d9c32);calls[_0x50b2('0x31')](_0x3d9c32);recordings[_0x50b2('0x31')](_0x3d9c32);dials['hangup'](_0x3d9c32);agents[_0x50b2('0x31')](_0x3d9c32);queues[_0x50b2('0x31')](_0x3d9c32);}catch(_0xacda99){utils['error'](util[_0x50b2('0x1c')](_0x50b2('0x32'),_0x3d9c32[_0x50b2('0x20')]),_0xacda99);}});ami['on'](_0x50b2('0x33'),function(_0x499625){try{utils[_0x50b2('0x1b')](util[_0x50b2('0x1c')](_0x50b2('0x34'),_0x499625[_0x50b2('0x20')]),_0x499625);members['cdr'](_0x499625);}catch(_0x268d3c){utils[_0x50b2('0x17')](util[_0x50b2('0x1c')](_0x50b2('0x34'),_0x499625['uniqueid']),_0x268d3c);}});ami['on'](_0x50b2('0x35'),function(_0x1de0b1){try{utils['debug'](util[_0x50b2('0x1c')]('[%s][index][blindtransfer]',_0x1de0b1[_0x50b2('0x20')]),_0x1de0b1);queues[_0x50b2('0x35')](_0x1de0b1);agents['blindtransfer'](_0x1de0b1);transfers['blindtransfer'](_0x1de0b1);}catch(_0x22fe1c){utils[_0x50b2('0x17')](util['format'](_0x50b2('0x36'),_0x1de0b1[_0x50b2('0x20')]),_0x22fe1c);}});ami['on'](_0x50b2('0x37'),function(_0x5b7cec){try{utils[_0x50b2('0x1b')](util[_0x50b2('0x1c')](_0x50b2('0x38'),_0x5b7cec[_0x50b2('0x39')]),_0x5b7cec);queues[_0x50b2('0x37')](_0x5b7cec);transfers[_0x50b2('0x37')](_0x5b7cec);agents['attendedtransfer'](_0x5b7cec);calls[_0x50b2('0x37')](_0x5b7cec);}catch(_0x5c5b46){utils[_0x50b2('0x17')](util[_0x50b2('0x1c')](_0x50b2('0x38'),_0x5b7cec[_0x50b2('0x39')]),_0x5c5b46);}});ami['on'](_0x50b2('0x3a'),function(_0x1fe5b5){try{utils[_0x50b2('0x1b')](util[_0x50b2('0x1c')](_0x50b2('0x3b'),_0x1fe5b5['uniqueid']),_0x1fe5b5);queues[_0x50b2('0x3a')](_0x1fe5b5);recordings['varset'](_0x1fe5b5);calls[_0x50b2('0x3a')](_0x1fe5b5);dials[_0x50b2('0x3a')](_0x1fe5b5);}catch(_0x581272){utils[_0x50b2('0x17')](util[_0x50b2('0x1c')]('[%s][index][varset]',_0x1fe5b5[_0x50b2('0x20')]),_0x581272);}});ami['on'](_0x50b2('0x3c'),function(_0x11c811){try{utils[_0x50b2('0x1b')](util[_0x50b2('0x1c')](_0x50b2('0x3d'),_0x11c811[_0x50b2('0x20')]),_0x11c811);calls['newexten'](_0x11c811);recordings[_0x50b2('0x3c')](_0x11c811);dials[_0x50b2('0x3c')](_0x11c811);}catch(_0x57ba44){utils[_0x50b2('0x17')](util['format']('[%s][index][newexten]',_0x11c811[_0x50b2('0x20')]),_0x57ba44);}});ami['on'](_0x50b2('0x3e'),function(_0x5d126c){try{utils[_0x50b2('0x1b')](util[_0x50b2('0x1c')](_0x50b2('0x3f'),_0x5d126c[_0x50b2('0x20')]),_0x5d126c);calls[_0x50b2('0x3e')](_0x5d126c);recordings['newchannel'](_0x5d126c);}catch(_0x28f2eb){utils[_0x50b2('0x17')](util[_0x50b2('0x1c')]('[%s][index][newchannel]',_0x5d126c['uniqueid']),_0x28f2eb);}});ami['on'](_0x50b2('0x40'),function(_0x4231f2){try{utils[_0x50b2('0x1b')](util[_0x50b2('0x1c')]('[%s][index][dialbegin]',_0x4231f2[_0x50b2('0x20')]),_0x4231f2);dials[_0x50b2('0x40')](_0x4231f2);}catch(_0x355eb9){utils[_0x50b2('0x17')](util[_0x50b2('0x1c')](_0x50b2('0x41'),_0x4231f2[_0x50b2('0x20')]),_0x355eb9);}});ami['on'](_0x50b2('0x42'),function(_0x557d06){try{utils[_0x50b2('0x1b')](util[_0x50b2('0x1c')]('[%s][index][dialend]',_0x557d06['uniqueid']),_0x557d06);dials[_0x50b2('0x42')](_0x557d06);}catch(_0x5dc3dd){utils[_0x50b2('0x17')](util[_0x50b2('0x1c')]('[%s][index][dialend]',_0x557d06['uniqueid']),_0x5dc3dd);}});}