Built motion from commit b0a9a629.|2.6.33
[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 _0x6c76=['agentcomplete','queuecallerabandon','queuecallerjoin','[%s][index][queuecallerjoin]','queuecallerleave','[%s][index][queuecallerleave]','[%s][index][musiconholdstart]','musiconholdstart','musiconholdstop','[%s][index][musiconholdstop]','newstate','[%s][index][newstate]','hangup','cdr','[%s][index][cdr]','blindtransfer','attendedtransfer','origtransfereruniqueid','[%s][index][attendedtransfer]','varset','newexten','[%s][index][newexten]','[%s][index][newchannel]','newchannel','dialbegin','[%s][index][dialbegin]','[%s]dialbegin','dialend','[%s][index][dialend]','asterisk-manager','../../config/environment','util','xdr','disabled','env','production','local','asterisk','username','info','XDR\x20DISABLED','Asterisk\x20disabled\x20on\x20localhost','./agents.controller','./calls.controller','./queues.controller','./recordings.controller','./dials.controller','./transfers.controller','connect','shutdown','fullybooted','error','close','managerevent','devicestatechange','debug','[%s][index][devicestatechange]','device','format','agentcalled','[%s][index][agentcalled]','uniqueid','agentringnoanswer','[%s][index][agentringnoanswer]','agentconnect','[%s][index][agentconnect]','[%s][index][agentcomplete]'];(function(_0x4c8284,_0x2e05ac){var _0x290cd3=function(_0x1f5134){while(--_0x1f5134){_0x4c8284['push'](_0x4c8284['shift']());}};_0x290cd3(++_0x2e05ac);}(_0x6c76,0xe6));var _0x66c7=function(_0x508642,_0x2faacd){_0x508642=_0x508642-0x0;var _0x1dd29c=_0x6c76[_0x508642];return _0x1dd29c;};var AsteriskManager=require(_0x66c7('0x0'));var config=require(_0x66c7('0x1'));var utils=require('./utils');var util=require(_0x66c7('0x2'));var isXDREnabled=config[_0x66c7('0x3')]&&config[_0x66c7('0x3')][_0x66c7('0x4')]?!config[_0x66c7('0x3')][_0x66c7('0x4')]:!![];var isProduction=config[_0x66c7('0x5')]===_0x66c7('0x6')||![];var isLocalAsterisk=config[_0x66c7('0x3')]&&config['xdr'][_0x66c7('0x7')]===!![]||![];var ami=new AsteriskManager(config[_0x66c7('0x8')]['port'],config[_0x66c7('0x8')]['ip'],config[_0x66c7('0x8')][_0x66c7('0x9')],config[_0x66c7('0x8')]['password'],!![]);ami['keepConnected']();if(!isXDREnabled){utils[_0x66c7('0xa')](_0x66c7('0xb'));}else if(!isProduction&&!isLocalAsterisk){utils[_0x66c7('0xa')](_0x66c7('0xc'));}else{var agents=require(_0x66c7('0xd'));var calls=require(_0x66c7('0xe'));var queues=require(_0x66c7('0xf'));var recordings=require(_0x66c7('0x10'));var members=require('./members.controller');var dials=require(_0x66c7('0x11'));var transfers=require(_0x66c7('0x12'));var core=require('./core.controller');ami['on'](_0x66c7('0x13'),core[_0x66c7('0x13')]);ami['on'](_0x66c7('0x14'),core[_0x66c7('0x14')]);ami['on'](_0x66c7('0x15'),core['fullybooted']);ami['on'](_0x66c7('0x16'),core[_0x66c7('0x16')]);ami['on'](_0x66c7('0x17'),core[_0x66c7('0x17')]);ami['on'](_0x66c7('0x18'),core[_0x66c7('0x18')]);ami['on'](_0x66c7('0x19'),function(_0x13ce69){try{utils[_0x66c7('0x1a')](util['format'](_0x66c7('0x1b'),_0x13ce69[_0x66c7('0x1c')]),_0x13ce69);members[_0x66c7('0x19')](_0x13ce69);}catch(_0x28aa0c){utils[_0x66c7('0x16')](util[_0x66c7('0x1d')](_0x66c7('0x1b'),_0x13ce69[_0x66c7('0x1c')]),_0x28aa0c);}});ami['on'](_0x66c7('0x1e'),function(_0x4a8675){try{utils[_0x66c7('0x1a')](util[_0x66c7('0x1d')](_0x66c7('0x1f'),_0x4a8675[_0x66c7('0x20')]),_0x4a8675);agents['agentcalled'](_0x4a8675);}catch(_0x1d69ec){utils[_0x66c7('0x16')](util['format'](_0x66c7('0x1f'),_0x4a8675['uniqueid']),_0x1d69ec);}});ami['on'](_0x66c7('0x21'),function(_0x1582f6){try{utils[_0x66c7('0x1a')](util[_0x66c7('0x1d')]('[%s][index][agentringnoanswer]',_0x1582f6[_0x66c7('0x20')]),_0x1582f6);agents[_0x66c7('0x21')](_0x1582f6);}catch(_0x48ceeb){utils[_0x66c7('0x16')](util[_0x66c7('0x1d')](_0x66c7('0x22'),_0x1582f6['uniqueid']),_0x48ceeb);}});ami['on'](_0x66c7('0x23'),function(_0x498cc6){try{utils[_0x66c7('0x1a')](util[_0x66c7('0x1d')](_0x66c7('0x24'),_0x498cc6[_0x66c7('0x20')]),_0x498cc6);agents[_0x66c7('0x23')](_0x498cc6);queues['agentconnect'](_0x498cc6);}catch(_0x499b72){utils['error'](util['format'](_0x66c7('0x24'),_0x498cc6[_0x66c7('0x20')]),_0x499b72);}});ami['on']('agentcomplete',function(_0x597bab){try{utils[_0x66c7('0x1a')](util['format'](_0x66c7('0x25'),_0x597bab[_0x66c7('0x20')]),_0x597bab);agents[_0x66c7('0x26')](_0x597bab);queues[_0x66c7('0x26')](_0x597bab);members[_0x66c7('0x26')](_0x597bab);}catch(_0x13212e){utils[_0x66c7('0x16')](util[_0x66c7('0x1d')]('[%s][index][agentcomplete]',_0x597bab[_0x66c7('0x20')]),_0x13212e);}});ami['on'](_0x66c7('0x27'),function(_0x30dd55){try{utils[_0x66c7('0x1a')](util['format']('[%s][index][queuecallerabandon]',_0x30dd55[_0x66c7('0x20')]),_0x30dd55);agents[_0x66c7('0x27')](_0x30dd55);queues[_0x66c7('0x27')](_0x30dd55);}catch(_0x1f3932){utils[_0x66c7('0x16')](util[_0x66c7('0x1d')]('[%s][index][queuecallerabandon]',_0x30dd55[_0x66c7('0x20')]),_0x1f3932);}});ami['on'](_0x66c7('0x28'),function(_0x3c65ff){try{utils[_0x66c7('0x1a')](util[_0x66c7('0x1d')](_0x66c7('0x29'),_0x3c65ff[_0x66c7('0x20')]),_0x3c65ff);queues['queuecallerjoin'](_0x3c65ff);recordings[_0x66c7('0x28')](_0x3c65ff);}catch(_0x47e618){utils[_0x66c7('0x16')](util[_0x66c7('0x1d')](_0x66c7('0x29'),_0x3c65ff[_0x66c7('0x20')]),_0x47e618);}});ami['on'](_0x66c7('0x2a'),function(_0x1db853){try{utils[_0x66c7('0x1a')](util[_0x66c7('0x1d')](_0x66c7('0x2b'),_0x1db853[_0x66c7('0x20')]),_0x1db853);queues[_0x66c7('0x2a')](_0x1db853);}catch(_0x2c171b){utils[_0x66c7('0x16')](util[_0x66c7('0x1d')](_0x66c7('0x2b'),_0x1db853[_0x66c7('0x20')]),_0x2c171b);}});ami['on']('musiconholdstart',function(_0x487dc7){try{utils[_0x66c7('0x1a')](util[_0x66c7('0x1d')](_0x66c7('0x2c'),_0x487dc7[_0x66c7('0x20')]),_0x487dc7);queues[_0x66c7('0x2d')](_0x487dc7);calls[_0x66c7('0x2d')](_0x487dc7);}catch(_0x1de930){utils[_0x66c7('0x16')](util['format'](_0x66c7('0x2c'),_0x487dc7[_0x66c7('0x20')]),_0x1de930);}});ami['on'](_0x66c7('0x2e'),function(_0x136ae1){try{utils[_0x66c7('0x1a')](util[_0x66c7('0x1d')](_0x66c7('0x2f'),_0x136ae1[_0x66c7('0x20')]),_0x136ae1);queues[_0x66c7('0x2e')](_0x136ae1);calls[_0x66c7('0x2e')](_0x136ae1);}catch(_0x4d82ea){utils[_0x66c7('0x16')](util['format'](_0x66c7('0x2f'),_0x136ae1[_0x66c7('0x20')]),_0x4d82ea);}});ami['on'](_0x66c7('0x30'),function(_0x5f2efb){try{utils[_0x66c7('0x1a')](util['format'](_0x66c7('0x31'),_0x5f2efb[_0x66c7('0x20')]),_0x5f2efb);calls[_0x66c7('0x30')](_0x5f2efb);recordings[_0x66c7('0x30')](_0x5f2efb);}catch(_0x2d01a6){utils[_0x66c7('0x16')](util['format'](_0x66c7('0x31'),_0x5f2efb['uniqueid']),_0x2d01a6);}});ami['on'](_0x66c7('0x32'),function(_0x21596d){try{utils['debug'](util[_0x66c7('0x1d')]('[%s][index][hangup]',_0x21596d['uniqueid']),_0x21596d);calls[_0x66c7('0x32')](_0x21596d);recordings['hangup'](_0x21596d);dials[_0x66c7('0x32')](_0x21596d);agents['hangup'](_0x21596d);queues['hangup'](_0x21596d);}catch(_0x7a0412){utils[_0x66c7('0x16')](util[_0x66c7('0x1d')]('[%s][index][hangup]',_0x21596d[_0x66c7('0x20')]),_0x7a0412);}});ami['on'](_0x66c7('0x33'),function(_0x41da03){try{utils[_0x66c7('0x1a')](util[_0x66c7('0x1d')](_0x66c7('0x34'),_0x41da03[_0x66c7('0x20')]),_0x41da03);members[_0x66c7('0x33')](_0x41da03);}catch(_0x245d28){utils[_0x66c7('0x16')](util[_0x66c7('0x1d')]('[%s][index][cdr]',_0x41da03['uniqueid']),_0x245d28);}});ami['on']('blindtransfer',function(_0x232ced){try{utils['debug'](util[_0x66c7('0x1d')]('[%s][index][blindtransfer]',_0x232ced[_0x66c7('0x20')]),_0x232ced);queues['blindtransfer'](_0x232ced);agents[_0x66c7('0x35')](_0x232ced);transfers[_0x66c7('0x35')](_0x232ced);}catch(_0x4a15e2){utils['error'](util[_0x66c7('0x1d')]('[%s][index][blindtransfer]',_0x232ced['uniqueid']),_0x4a15e2);}});ami['on'](_0x66c7('0x36'),function(_0xcd8ba6){try{utils[_0x66c7('0x1a')](util['format']('[%s][index][attendedtransfer]',_0xcd8ba6[_0x66c7('0x37')]),_0xcd8ba6);queues[_0x66c7('0x36')](_0xcd8ba6);transfers[_0x66c7('0x36')](_0xcd8ba6);agents[_0x66c7('0x36')](_0xcd8ba6);calls['attendedtransfer'](_0xcd8ba6);}catch(_0xf6c299){utils[_0x66c7('0x16')](util[_0x66c7('0x1d')](_0x66c7('0x38'),_0xcd8ba6[_0x66c7('0x37')]),_0xf6c299);}});ami['on'](_0x66c7('0x39'),function(_0x201cf3){try{utils[_0x66c7('0x1a')](util[_0x66c7('0x1d')]('[%s][index][varset]',_0x201cf3[_0x66c7('0x20')]),_0x201cf3);queues[_0x66c7('0x39')](_0x201cf3);recordings[_0x66c7('0x39')](_0x201cf3);calls['varset'](_0x201cf3);dials[_0x66c7('0x39')](_0x201cf3);}catch(_0x52acbd){utils[_0x66c7('0x16')](util[_0x66c7('0x1d')]('[%s][index][varset]',_0x201cf3[_0x66c7('0x20')]),_0x52acbd);}});ami['on'](_0x66c7('0x3a'),function(_0x322ad6){try{utils[_0x66c7('0x1a')](util[_0x66c7('0x1d')](_0x66c7('0x3b'),_0x322ad6['uniqueid']),_0x322ad6);calls['newexten'](_0x322ad6);recordings[_0x66c7('0x3a')](_0x322ad6);dials[_0x66c7('0x3a')](_0x322ad6);}catch(_0x427599){utils[_0x66c7('0x16')](util[_0x66c7('0x1d')](_0x66c7('0x3b'),_0x322ad6['uniqueid']),_0x427599);}});ami['on']('newchannel',function(_0x4d02b1){try{utils['debug'](util[_0x66c7('0x1d')](_0x66c7('0x3c'),_0x4d02b1[_0x66c7('0x20')]),_0x4d02b1);calls['newchannel'](_0x4d02b1);recordings[_0x66c7('0x3d')](_0x4d02b1);}catch(_0x12b344){utils[_0x66c7('0x16')](util['format'](_0x66c7('0x3c'),_0x4d02b1[_0x66c7('0x20')]),_0x12b344);}});ami['on'](_0x66c7('0x3e'),function(_0x3beec6){try{utils[_0x66c7('0x1a')](util[_0x66c7('0x1d')](_0x66c7('0x3f'),_0x3beec6['uniqueid']),_0x3beec6);dials['dialbegin'](_0x3beec6);}catch(_0x4723a2){utils['error'](util[_0x66c7('0x1d')](_0x66c7('0x40'),_0x3beec6['uniqueid']),_0x4723a2);}});ami['on'](_0x66c7('0x41'),function(_0x3ab44c){try{utils['debug'](util['format'](_0x66c7('0x42'),_0x3ab44c['uniqueid']),_0x3ab44c);dials['dialend'](_0x3ab44c);}catch(_0xc119f8){utils[_0x66c7('0x16')](util[_0x66c7('0x1d')](_0x66c7('0x42'),_0x3ab44c[_0x66c7('0x20')]),_0xc119f8);}});}