Built motion from commit 97153652.|2.6.26
[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 _0x989a=['device','agentcalled','[%s][index][agentcalled]','uniqueid','[%s][index][agentringnoanswer]','agentringnoanswer','agentconnect','agentcomplete','[%s][index][agentcomplete]','[%s][index][queuecallerabandon]','queuecallerabandon','queuecallerjoin','[%s][index][queuecallerjoin]','queuecallerleave','musiconholdstart','[%s][index][musiconholdstart]','musiconholdstop','[%s][index][musiconholdstop]','newstate','hangup','[%s][index][hangup]','cdr','[%s][index][cdr]','blindtransfer','[%s][index][blindtransfer]','attendedtransfer','origtransfereruniqueid','[%s][index][attendedtransfer]','[%s][index][varset]','varset','newexten','[%s][index][newexten]','newchannel','[%s][index][newchannel]','dialbegin','[%s]dialbegin','dialend','[%s][index][dialend]','asterisk-manager','../../config/environment','./utils','util','xdr','disabled','env','production','local','asterisk','port','username','keepConnected','info','XDR\x20DISABLED','./queues.controller','./recordings.controller','./members.controller','./transfers.controller','./core.controller','connect','shutdown','fullybooted','error','close','managerevent','debug','format','[%s][index][devicestatechange]','devicestatechange'];(function(_0x314085,_0x4235c6){var _0x26190a=function(_0x2314a2){while(--_0x2314a2){_0x314085['push'](_0x314085['shift']());}};_0x26190a(++_0x4235c6);}(_0x989a,0x1be));var _0xa989=function(_0x28c261,_0x3e5f91){_0x28c261=_0x28c261-0x0;var _0x340dbb=_0x989a[_0x28c261];return _0x340dbb;};var AsteriskManager=require(_0xa989('0x0'));var config=require(_0xa989('0x1'));var utils=require(_0xa989('0x2'));var util=require(_0xa989('0x3'));var isXDREnabled=config[_0xa989('0x4')]&&config[_0xa989('0x4')][_0xa989('0x5')]?!config[_0xa989('0x4')][_0xa989('0x5')]:!![];var isProduction=config[_0xa989('0x6')]===_0xa989('0x7')||![];var isLocalAsterisk=config[_0xa989('0x4')]&&config[_0xa989('0x4')][_0xa989('0x8')]===!![]||![];var ami=new AsteriskManager(config[_0xa989('0x9')][_0xa989('0xa')],config[_0xa989('0x9')]['ip'],config['asterisk'][_0xa989('0xb')],config[_0xa989('0x9')]['password'],!![]);ami[_0xa989('0xc')]();if(!isXDREnabled){utils[_0xa989('0xd')](_0xa989('0xe'));}else if(!isProduction&&!isLocalAsterisk){utils[_0xa989('0xd')]('Asterisk\x20disabled\x20on\x20localhost');}else{var agents=require('./agents.controller');var calls=require('./calls.controller');var queues=require(_0xa989('0xf'));var recordings=require(_0xa989('0x10'));var members=require(_0xa989('0x11'));var dials=require('./dials.controller');var transfers=require(_0xa989('0x12'));var core=require(_0xa989('0x13'));ami['on'](_0xa989('0x14'),core[_0xa989('0x14')]);ami['on'](_0xa989('0x15'),core[_0xa989('0x15')]);ami['on']('fullybooted',core[_0xa989('0x16')]);ami['on']('error',core[_0xa989('0x17')]);ami['on'](_0xa989('0x18'),core[_0xa989('0x18')]);ami['on']('managerevent',core[_0xa989('0x19')]);ami['on']('devicestatechange',function(_0x5ad4aa){try{utils[_0xa989('0x1a')](util[_0xa989('0x1b')](_0xa989('0x1c'),_0x5ad4aa['device']),_0x5ad4aa);members[_0xa989('0x1d')](_0x5ad4aa);}catch(_0x54735a){utils[_0xa989('0x17')](util[_0xa989('0x1b')](_0xa989('0x1c'),_0x5ad4aa[_0xa989('0x1e')]),_0x54735a);}});ami['on'](_0xa989('0x1f'),function(_0x5ee506){try{utils['debug'](util[_0xa989('0x1b')](_0xa989('0x20'),_0x5ee506['uniqueid']),_0x5ee506);agents[_0xa989('0x1f')](_0x5ee506);}catch(_0x4465a7){utils['error'](util[_0xa989('0x1b')](_0xa989('0x20'),_0x5ee506[_0xa989('0x21')]),_0x4465a7);}});ami['on']('agentringnoanswer',function(_0x152938){try{utils['debug'](util['format'](_0xa989('0x22'),_0x152938['uniqueid']),_0x152938);agents[_0xa989('0x23')](_0x152938);}catch(_0x3186ae){utils[_0xa989('0x17')](util[_0xa989('0x1b')]('[%s][index][agentringnoanswer]',_0x152938[_0xa989('0x21')]),_0x3186ae);}});ami['on'](_0xa989('0x24'),function(_0x4ce2de){try{utils['debug'](util[_0xa989('0x1b')]('[%s][index][agentconnect]',_0x4ce2de[_0xa989('0x21')]),_0x4ce2de);agents[_0xa989('0x24')](_0x4ce2de);queues['agentconnect'](_0x4ce2de);}catch(_0x41a90c){utils[_0xa989('0x17')](util['format']('[%s][index][agentconnect]',_0x4ce2de[_0xa989('0x21')]),_0x41a90c);}});ami['on'](_0xa989('0x25'),function(_0x5640e4){try{utils[_0xa989('0x1a')](util[_0xa989('0x1b')]('[%s][index][agentcomplete]',_0x5640e4[_0xa989('0x21')]),_0x5640e4);agents[_0xa989('0x25')](_0x5640e4);queues[_0xa989('0x25')](_0x5640e4);members['agentcomplete'](_0x5640e4);}catch(_0x535b33){utils[_0xa989('0x17')](util['format'](_0xa989('0x26'),_0x5640e4[_0xa989('0x21')]),_0x535b33);}});ami['on']('queuecallerabandon',function(_0x565f0e){try{utils[_0xa989('0x1a')](util[_0xa989('0x1b')](_0xa989('0x27'),_0x565f0e[_0xa989('0x21')]),_0x565f0e);agents[_0xa989('0x28')](_0x565f0e);queues[_0xa989('0x28')](_0x565f0e);}catch(_0x18223f){utils[_0xa989('0x17')](util[_0xa989('0x1b')](_0xa989('0x27'),_0x565f0e[_0xa989('0x21')]),_0x18223f);}});ami['on'](_0xa989('0x29'),function(_0x43f049){try{utils[_0xa989('0x1a')](util[_0xa989('0x1b')](_0xa989('0x2a'),_0x43f049[_0xa989('0x21')]),_0x43f049);queues['queuecallerjoin'](_0x43f049);recordings[_0xa989('0x29')](_0x43f049);}catch(_0x20a74c){utils[_0xa989('0x17')](util['format']('[%s][index][queuecallerjoin]',_0x43f049['uniqueid']),_0x20a74c);}});ami['on'](_0xa989('0x2b'),function(_0x104b26){try{utils[_0xa989('0x1a')](util[_0xa989('0x1b')]('[%s][index][queuecallerleave]',_0x104b26[_0xa989('0x21')]),_0x104b26);queues[_0xa989('0x2b')](_0x104b26);}catch(_0x10862){utils[_0xa989('0x17')](util[_0xa989('0x1b')]('[%s][index][queuecallerleave]',_0x104b26[_0xa989('0x21')]),_0x10862);}});ami['on'](_0xa989('0x2c'),function(_0x5eaad7){try{utils[_0xa989('0x1a')](util['format']('[%s][index][musiconholdstart]',_0x5eaad7[_0xa989('0x21')]),_0x5eaad7);queues[_0xa989('0x2c')](_0x5eaad7);calls[_0xa989('0x2c')](_0x5eaad7);}catch(_0x5ee5f7){utils[_0xa989('0x17')](util[_0xa989('0x1b')](_0xa989('0x2d'),_0x5eaad7['uniqueid']),_0x5ee5f7);}});ami['on'](_0xa989('0x2e'),function(_0x303eb2){try{utils['debug'](util['format'](_0xa989('0x2f'),_0x303eb2[_0xa989('0x21')]),_0x303eb2);queues[_0xa989('0x2e')](_0x303eb2);calls['musiconholdstop'](_0x303eb2);}catch(_0x4d811a){utils[_0xa989('0x17')](util[_0xa989('0x1b')](_0xa989('0x2f'),_0x303eb2[_0xa989('0x21')]),_0x4d811a);}});ami['on'](_0xa989('0x30'),function(_0x56fd09){try{utils['debug'](util[_0xa989('0x1b')]('[%s][index][newstate]',_0x56fd09[_0xa989('0x21')]),_0x56fd09);calls['newstate'](_0x56fd09);recordings[_0xa989('0x30')](_0x56fd09);}catch(_0x788c6e){utils['error'](util['format']('[%s][index][newstate]',_0x56fd09[_0xa989('0x21')]),_0x788c6e);}});ami['on'](_0xa989('0x31'),function(_0xf3b601){try{utils[_0xa989('0x1a')](util[_0xa989('0x1b')](_0xa989('0x32'),_0xf3b601[_0xa989('0x21')]),_0xf3b601);calls[_0xa989('0x31')](_0xf3b601);recordings[_0xa989('0x31')](_0xf3b601);dials[_0xa989('0x31')](_0xf3b601);agents[_0xa989('0x31')](_0xf3b601);queues[_0xa989('0x31')](_0xf3b601);}catch(_0x9c75ec){utils[_0xa989('0x17')](util['format'](_0xa989('0x32'),_0xf3b601['uniqueid']),_0x9c75ec);}});ami['on'](_0xa989('0x33'),function(_0x2246a7){try{utils['debug'](util[_0xa989('0x1b')]('[%s][index][cdr]',_0x2246a7[_0xa989('0x21')]),_0x2246a7);members[_0xa989('0x33')](_0x2246a7);}catch(_0x5b214c){utils[_0xa989('0x17')](util['format'](_0xa989('0x34'),_0x2246a7[_0xa989('0x21')]),_0x5b214c);}});ami['on'](_0xa989('0x35'),function(_0x4e4e6b){try{utils[_0xa989('0x1a')](util[_0xa989('0x1b')]('[%s][index][blindtransfer]',_0x4e4e6b[_0xa989('0x21')]),_0x4e4e6b);queues['blindtransfer'](_0x4e4e6b);agents[_0xa989('0x35')](_0x4e4e6b);transfers[_0xa989('0x35')](_0x4e4e6b);}catch(_0x2c7df6){utils[_0xa989('0x17')](util['format'](_0xa989('0x36'),_0x4e4e6b[_0xa989('0x21')]),_0x2c7df6);}});ami['on'](_0xa989('0x37'),function(_0x2efe8e){try{utils['debug'](util['format']('[%s][index][attendedtransfer]',_0x2efe8e[_0xa989('0x38')]),_0x2efe8e);queues[_0xa989('0x37')](_0x2efe8e);transfers[_0xa989('0x37')](_0x2efe8e);agents[_0xa989('0x37')](_0x2efe8e);calls[_0xa989('0x37')](_0x2efe8e);}catch(_0x575cf7){utils[_0xa989('0x17')](util[_0xa989('0x1b')](_0xa989('0x39'),_0x2efe8e[_0xa989('0x38')]),_0x575cf7);}});ami['on']('varset',function(_0x381b07){try{utils[_0xa989('0x1a')](util[_0xa989('0x1b')](_0xa989('0x3a'),_0x381b07[_0xa989('0x21')]),_0x381b07);queues[_0xa989('0x3b')](_0x381b07);recordings[_0xa989('0x3b')](_0x381b07);calls[_0xa989('0x3b')](_0x381b07);dials[_0xa989('0x3b')](_0x381b07);}catch(_0x182185){utils[_0xa989('0x17')](util[_0xa989('0x1b')](_0xa989('0x3a'),_0x381b07[_0xa989('0x21')]),_0x182185);}});ami['on'](_0xa989('0x3c'),function(_0x172548){try{utils[_0xa989('0x1a')](util[_0xa989('0x1b')]('[%s][index][newexten]',_0x172548[_0xa989('0x21')]),_0x172548);calls[_0xa989('0x3c')](_0x172548);recordings[_0xa989('0x3c')](_0x172548);dials[_0xa989('0x3c')](_0x172548);}catch(_0x5daf56){utils[_0xa989('0x17')](util['format'](_0xa989('0x3d'),_0x172548[_0xa989('0x21')]),_0x5daf56);}});ami['on']('newchannel',function(_0x3f58b4){try{utils[_0xa989('0x1a')](util[_0xa989('0x1b')]('[%s][index][newchannel]',_0x3f58b4[_0xa989('0x21')]),_0x3f58b4);calls[_0xa989('0x3e')](_0x3f58b4);recordings['newchannel'](_0x3f58b4);}catch(_0x2a4f86){utils[_0xa989('0x17')](util[_0xa989('0x1b')](_0xa989('0x3f'),_0x3f58b4['uniqueid']),_0x2a4f86);}});ami['on'](_0xa989('0x40'),function(_0x544813){try{utils[_0xa989('0x1a')](util[_0xa989('0x1b')]('[%s][index][dialbegin]',_0x544813[_0xa989('0x21')]),_0x544813);dials['dialbegin'](_0x544813);}catch(_0x38eca7){utils[_0xa989('0x17')](util[_0xa989('0x1b')](_0xa989('0x41'),_0x544813['uniqueid']),_0x38eca7);}});ami['on'](_0xa989('0x42'),function(_0x4810d1){try{utils['debug'](util['format']('[%s][index][dialend]',_0x4810d1['uniqueid']),_0x4810d1);dials['dialend'](_0x4810d1);}catch(_0x40032e){utils['error'](util[_0xa989('0x1b')](_0xa989('0x43'),_0x4810d1[_0xa989('0x21')]),_0x40032e);}});}