27bcfd99ba7c4cd883c4e0d8d3e9de2510ac5888
[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 _0x5937=['./recordings.controller','./members.controller','./dials.controller','./transfers.controller','./core.controller','shutdown','error','close','managerevent','debug','format','[%s][index][devicestatechange]','device','[%s][index][agentcalled]','agentcalled','uniqueid','agentringnoanswer','agentconnect','agentcomplete','[%s][index][agentcomplete]','[%s][index][queuecallerabandon]','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]','[%s][index][blindtransfer]','blindtransfer','attendedtransfer','[%s][index][attendedtransfer]','varset','[%s][index][varset]','newexten','[%s][index][newexten]','newchannel','[%s][index][newchannel]','dialbegin','[%s][index][dialbegin]','[%s]dialbegin','[%s][index][dialend]','dialend','asterisk-manager','../../config/environment','./utils','xdr','disabled','production','local','asterisk','port','username','password','info','XDR\x20DISABLED','Asterisk\x20disabled\x20on\x20localhost','./agents.controller','./calls.controller','./queues.controller'];(function(_0x4a1bc8,_0x3ecdcb){var _0x32fe63=function(_0x59f007){while(--_0x59f007){_0x4a1bc8['push'](_0x4a1bc8['shift']());}};_0x32fe63(++_0x3ecdcb);}(_0x5937,0x1bd));var _0x7593=function(_0x4a9fb1,_0x273043){_0x4a9fb1=_0x4a9fb1-0x0;var _0x348672=_0x5937[_0x4a9fb1];return _0x348672;};var AsteriskManager=require(_0x7593('0x0'));var config=require(_0x7593('0x1'));var utils=require(_0x7593('0x2'));var util=require('util');var isXDREnabled=config[_0x7593('0x3')]&&config[_0x7593('0x3')][_0x7593('0x4')]?!config['xdr']['disabled']:!![];var isProduction=config['env']===_0x7593('0x5')||![];var isLocalAsterisk=config['xdr']&&config[_0x7593('0x3')][_0x7593('0x6')]===!![]||![];var ami=new AsteriskManager(config[_0x7593('0x7')][_0x7593('0x8')],config[_0x7593('0x7')]['ip'],config[_0x7593('0x7')][_0x7593('0x9')],config[_0x7593('0x7')][_0x7593('0xa')],!![]);ami['keepConnected']();if(!isXDREnabled){utils[_0x7593('0xb')](_0x7593('0xc'));}else if(!isProduction&&!isLocalAsterisk){utils['info'](_0x7593('0xd'));}else{var agents=require(_0x7593('0xe'));var calls=require(_0x7593('0xf'));var queues=require(_0x7593('0x10'));var recordings=require(_0x7593('0x11'));var members=require(_0x7593('0x12'));var dials=require(_0x7593('0x13'));var transfers=require(_0x7593('0x14'));var core=require(_0x7593('0x15'));ami['on']('connect',core['connect']);ami['on'](_0x7593('0x16'),core['shutdown']);ami['on']('fullybooted',core['fullybooted']);ami['on'](_0x7593('0x17'),core[_0x7593('0x17')]);ami['on'](_0x7593('0x18'),core[_0x7593('0x18')]);ami['on'](_0x7593('0x19'),core[_0x7593('0x19')]);ami['on']('devicestatechange',function(_0x44159d){try{utils[_0x7593('0x1a')](util[_0x7593('0x1b')](_0x7593('0x1c'),_0x44159d[_0x7593('0x1d')]),_0x44159d);members['devicestatechange'](_0x44159d);}catch(_0x36374b){utils[_0x7593('0x17')](util['format']('[%s][index][devicestatechange]',_0x44159d['device']),_0x36374b);}});ami['on']('agentcalled',function(_0x28cde9){try{utils[_0x7593('0x1a')](util[_0x7593('0x1b')](_0x7593('0x1e'),_0x28cde9['uniqueid']),_0x28cde9);agents[_0x7593('0x1f')](_0x28cde9);}catch(_0x4b0882){utils[_0x7593('0x17')](util[_0x7593('0x1b')](_0x7593('0x1e'),_0x28cde9[_0x7593('0x20')]),_0x4b0882);}});ami['on'](_0x7593('0x21'),function(_0x23f659){try{utils[_0x7593('0x1a')](util['format']('[%s][index][agentringnoanswer]',_0x23f659[_0x7593('0x20')]),_0x23f659);agents['agentringnoanswer'](_0x23f659);}catch(_0x32a2c0){utils[_0x7593('0x17')](util[_0x7593('0x1b')]('[%s][index][agentringnoanswer]',_0x23f659['uniqueid']),_0x32a2c0);}});ami['on'](_0x7593('0x22'),function(_0x31e5d9){try{utils[_0x7593('0x1a')](util['format']('[%s][index][agentconnect]',_0x31e5d9[_0x7593('0x20')]),_0x31e5d9);agents[_0x7593('0x22')](_0x31e5d9);queues[_0x7593('0x22')](_0x31e5d9);}catch(_0x2cef65){utils['error'](util[_0x7593('0x1b')]('[%s][index][agentconnect]',_0x31e5d9[_0x7593('0x20')]),_0x2cef65);}});ami['on'](_0x7593('0x23'),function(_0x1bbce8){try{utils['debug'](util['format'](_0x7593('0x24'),_0x1bbce8[_0x7593('0x20')]),_0x1bbce8);agents[_0x7593('0x23')](_0x1bbce8);queues[_0x7593('0x23')](_0x1bbce8);members['agentcomplete'](_0x1bbce8);}catch(_0x231832){utils['error'](util[_0x7593('0x1b')]('[%s][index][agentcomplete]',_0x1bbce8[_0x7593('0x20')]),_0x231832);}});ami['on']('queuecallerabandon',function(_0x3808dd){try{utils[_0x7593('0x1a')](util[_0x7593('0x1b')](_0x7593('0x25'),_0x3808dd[_0x7593('0x20')]),_0x3808dd);agents[_0x7593('0x26')](_0x3808dd);queues[_0x7593('0x26')](_0x3808dd);}catch(_0x2f6ff7){utils[_0x7593('0x17')](util[_0x7593('0x1b')](_0x7593('0x25'),_0x3808dd[_0x7593('0x20')]),_0x2f6ff7);}});ami['on'](_0x7593('0x27'),function(_0x40f7fc){try{utils['debug'](util[_0x7593('0x1b')](_0x7593('0x28'),_0x40f7fc['uniqueid']),_0x40f7fc);queues[_0x7593('0x27')](_0x40f7fc);recordings[_0x7593('0x27')](_0x40f7fc);}catch(_0xe39399){utils['error'](util[_0x7593('0x1b')](_0x7593('0x28'),_0x40f7fc[_0x7593('0x20')]),_0xe39399);}});ami['on'](_0x7593('0x29'),function(_0x1acca2){try{utils['debug'](util[_0x7593('0x1b')]('[%s][index][queuecallerleave]',_0x1acca2[_0x7593('0x20')]),_0x1acca2);queues[_0x7593('0x29')](_0x1acca2);}catch(_0x188a77){utils[_0x7593('0x17')](util[_0x7593('0x1b')](_0x7593('0x2a'),_0x1acca2[_0x7593('0x20')]),_0x188a77);}});ami['on'](_0x7593('0x2b'),function(_0x296d98){try{utils[_0x7593('0x1a')](util[_0x7593('0x1b')]('[%s][index][musiconholdstart]',_0x296d98[_0x7593('0x20')]),_0x296d98);queues['musiconholdstart'](_0x296d98);calls[_0x7593('0x2b')](_0x296d98);}catch(_0xfeb609){utils[_0x7593('0x17')](util[_0x7593('0x1b')](_0x7593('0x2c'),_0x296d98[_0x7593('0x20')]),_0xfeb609);}});ami['on'](_0x7593('0x2d'),function(_0xfa700a){try{utils[_0x7593('0x1a')](util[_0x7593('0x1b')](_0x7593('0x2e'),_0xfa700a[_0x7593('0x20')]),_0xfa700a);queues['musiconholdstop'](_0xfa700a);calls['musiconholdstop'](_0xfa700a);}catch(_0x23d6a8){utils[_0x7593('0x17')](util['format']('[%s][index][musiconholdstop]',_0xfa700a['uniqueid']),_0x23d6a8);}});ami['on'](_0x7593('0x2f'),function(_0x194985){try{utils[_0x7593('0x1a')](util[_0x7593('0x1b')](_0x7593('0x30'),_0x194985[_0x7593('0x20')]),_0x194985);calls[_0x7593('0x2f')](_0x194985);recordings['newstate'](_0x194985);}catch(_0xdc6cc4){utils[_0x7593('0x17')](util[_0x7593('0x1b')]('[%s][index][newstate]',_0x194985[_0x7593('0x20')]),_0xdc6cc4);}});ami['on'](_0x7593('0x31'),function(_0x12ec9d){try{utils['debug'](util[_0x7593('0x1b')](_0x7593('0x32'),_0x12ec9d['uniqueid']),_0x12ec9d);calls[_0x7593('0x31')](_0x12ec9d);recordings['hangup'](_0x12ec9d);dials['hangup'](_0x12ec9d);agents[_0x7593('0x31')](_0x12ec9d);queues[_0x7593('0x31')](_0x12ec9d);}catch(_0x47f4dd){utils['error'](util[_0x7593('0x1b')](_0x7593('0x32'),_0x12ec9d['uniqueid']),_0x47f4dd);}});ami['on']('cdr',function(_0xd1173e){try{utils[_0x7593('0x1a')](util[_0x7593('0x1b')]('[%s][index][cdr]',_0xd1173e[_0x7593('0x20')]),_0xd1173e);members['cdr'](_0xd1173e);}catch(_0x19c8cd){utils[_0x7593('0x17')](util[_0x7593('0x1b')]('[%s][index][cdr]',_0xd1173e[_0x7593('0x20')]),_0x19c8cd);}});ami['on']('blindtransfer',function(_0x3b9fd2){try{utils[_0x7593('0x1a')](util[_0x7593('0x1b')](_0x7593('0x33'),_0x3b9fd2[_0x7593('0x20')]),_0x3b9fd2);queues[_0x7593('0x34')](_0x3b9fd2);agents['blindtransfer'](_0x3b9fd2);transfers['blindtransfer'](_0x3b9fd2);}catch(_0x24f4d3){utils[_0x7593('0x17')](util[_0x7593('0x1b')](_0x7593('0x33'),_0x3b9fd2[_0x7593('0x20')]),_0x24f4d3);}});ami['on'](_0x7593('0x35'),function(_0xab16db){try{utils[_0x7593('0x1a')](util['format'](_0x7593('0x36'),_0xab16db['origtransfereruniqueid']),_0xab16db);queues[_0x7593('0x35')](_0xab16db);transfers[_0x7593('0x35')](_0xab16db);agents[_0x7593('0x35')](_0xab16db);calls[_0x7593('0x35')](_0xab16db);}catch(_0x512963){utils[_0x7593('0x17')](util['format'](_0x7593('0x36'),_0xab16db['origtransfereruniqueid']),_0x512963);}});ami['on']('varset',function(_0xb7e711){try{utils['debug'](util[_0x7593('0x1b')]('[%s][index][varset]',_0xb7e711[_0x7593('0x20')]),_0xb7e711);queues[_0x7593('0x37')](_0xb7e711);recordings[_0x7593('0x37')](_0xb7e711);calls[_0x7593('0x37')](_0xb7e711);dials['varset'](_0xb7e711);}catch(_0x45c85d){utils[_0x7593('0x17')](util[_0x7593('0x1b')](_0x7593('0x38'),_0xb7e711[_0x7593('0x20')]),_0x45c85d);}});ami['on'](_0x7593('0x39'),function(_0x4959e0){try{utils['debug'](util[_0x7593('0x1b')](_0x7593('0x3a'),_0x4959e0[_0x7593('0x20')]),_0x4959e0);calls[_0x7593('0x39')](_0x4959e0);recordings[_0x7593('0x39')](_0x4959e0);dials['newexten'](_0x4959e0);}catch(_0x45e877){utils['error'](util[_0x7593('0x1b')](_0x7593('0x3a'),_0x4959e0[_0x7593('0x20')]),_0x45e877);}});ami['on'](_0x7593('0x3b'),function(_0x4ab341){try{utils[_0x7593('0x1a')](util['format'](_0x7593('0x3c'),_0x4ab341[_0x7593('0x20')]),_0x4ab341);calls[_0x7593('0x3b')](_0x4ab341);recordings[_0x7593('0x3b')](_0x4ab341);}catch(_0xe0bc7a){utils[_0x7593('0x17')](util[_0x7593('0x1b')]('[%s][index][newchannel]',_0x4ab341[_0x7593('0x20')]),_0xe0bc7a);}});ami['on'](_0x7593('0x3d'),function(_0x2102e0){try{utils[_0x7593('0x1a')](util[_0x7593('0x1b')](_0x7593('0x3e'),_0x2102e0[_0x7593('0x20')]),_0x2102e0);dials[_0x7593('0x3d')](_0x2102e0);}catch(_0x3da026){utils[_0x7593('0x17')](util[_0x7593('0x1b')](_0x7593('0x3f'),_0x2102e0[_0x7593('0x20')]),_0x3da026);}});ami['on']('dialend',function(_0xba1412){try{utils[_0x7593('0x1a')](util[_0x7593('0x1b')](_0x7593('0x40'),_0xba1412[_0x7593('0x20')]),_0xba1412);dials[_0x7593('0x41')](_0xba1412);}catch(_0x1ec2aa){utils[_0x7593('0x17')](util[_0x7593('0x1b')]('[%s][index][dialend]',_0xba1412[_0x7593('0x20')]),_0x1ec2aa);}});}