99aa0c8ac6af1eac0c10ce8914add18c97bda58c
[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 _0xb70b=['agentconnect','agentcomplete','[%s][index][agentcomplete]','[%s][index][queuecallerabandon]','queuecallerabandon','[%s][index][queuecallerjoin]','queuecallerjoin','queuecallerleave','musiconholdstart','[%s][index][musiconholdstart]','musiconholdstop','[%s][index][musiconholdstop]','newstate','hangup','[%s][index][hangup]','cdr','[%s][index][cdr]','[%s][index][blindtransfer]','blindtransfer','[%s][index][attendedtransfer]','origtransfereruniqueid','attendedtransfer','[%s][index][varset]','varset','[%s][index][newexten]','newexten','newchannel','[%s][index][newchannel]','[%s][index][dialbegin]','dialbegin','[%s]dialbegin','dialend','[%s][index][dialend]','../../config/environment','./utils','util','port','asterisk','username','password','keepConnected','xdr','disabled','XDR\x20DISABLED','./calls.controller','./queues.controller','./recordings.controller','./members.controller','./dials.controller','./transfers.controller','./core.controller','connect','shutdown','fullybooted','error','close','managerevent','devicestatechange','debug','format','[%s][index][devicestatechange]','device','agentcalled','[%s][index][agentcalled]','uniqueid','agentringnoanswer','[%s][index][agentringnoanswer]','[%s][index][agentconnect]'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xb70b,0xed));var _0xbb70=function(_0x3786ee,_0x11f961){_0x3786ee=_0x3786ee-0x0;var _0x54574b=_0xb70b[_0x3786ee];return _0x54574b;};var AsteriskManager=require('asterisk-manager');var config=require(_0xbb70('0x0'));var utils=require(_0xbb70('0x1'));var util=require(_0xbb70('0x2'));var ami=new AsteriskManager(config['asterisk'][_0xbb70('0x3')],config['asterisk']['ip'],config[_0xbb70('0x4')][_0xbb70('0x5')],config[_0xbb70('0x4')][_0xbb70('0x6')],!![]);ami[_0xbb70('0x7')]();if(config[_0xbb70('0x8')]&&config[_0xbb70('0x8')][_0xbb70('0x9')]){utils['info'](_0xbb70('0xa'));}else{var agents=require('./agents.controller');var calls=require(_0xbb70('0xb'));var queues=require(_0xbb70('0xc'));var recordings=require(_0xbb70('0xd'));var members=require(_0xbb70('0xe'));var dials=require(_0xbb70('0xf'));var transfers=require(_0xbb70('0x10'));var core=require(_0xbb70('0x11'));ami['on']('connect',core[_0xbb70('0x12')]);ami['on'](_0xbb70('0x13'),core[_0xbb70('0x13')]);ami['on']('fullybooted',core[_0xbb70('0x14')]);ami['on'](_0xbb70('0x15'),core[_0xbb70('0x15')]);ami['on']('close',core[_0xbb70('0x16')]);ami['on'](_0xbb70('0x17'),core[_0xbb70('0x17')]);ami['on'](_0xbb70('0x18'),function(_0x2044c){try{utils[_0xbb70('0x19')](util[_0xbb70('0x1a')](_0xbb70('0x1b'),_0x2044c[_0xbb70('0x1c')]),_0x2044c);members[_0xbb70('0x18')](_0x2044c);}catch(_0x42a6af){utils['error'](util[_0xbb70('0x1a')](_0xbb70('0x1b'),_0x2044c['device']),_0x42a6af);}});ami['on'](_0xbb70('0x1d'),function(_0x4224ff){try{utils[_0xbb70('0x19')](util[_0xbb70('0x1a')](_0xbb70('0x1e'),_0x4224ff[_0xbb70('0x1f')]),_0x4224ff);agents[_0xbb70('0x1d')](_0x4224ff);}catch(_0x4d11ac){utils['error'](util[_0xbb70('0x1a')](_0xbb70('0x1e'),_0x4224ff['uniqueid']),_0x4d11ac);}});ami['on'](_0xbb70('0x20'),function(_0x1a3894){try{utils[_0xbb70('0x19')](util['format']('[%s][index][agentringnoanswer]',_0x1a3894[_0xbb70('0x1f')]),_0x1a3894);agents['agentringnoanswer'](_0x1a3894);}catch(_0x54b8ad){utils['error'](util[_0xbb70('0x1a')](_0xbb70('0x21'),_0x1a3894[_0xbb70('0x1f')]),_0x54b8ad);}});ami['on']('agentconnect',function(_0x10469f){try{utils[_0xbb70('0x19')](util[_0xbb70('0x1a')](_0xbb70('0x22'),_0x10469f[_0xbb70('0x1f')]),_0x10469f);agents[_0xbb70('0x23')](_0x10469f);queues[_0xbb70('0x23')](_0x10469f);}catch(_0x5862eb){utils[_0xbb70('0x15')](util[_0xbb70('0x1a')](_0xbb70('0x22'),_0x10469f['uniqueid']),_0x5862eb);}});ami['on'](_0xbb70('0x24'),function(_0xd1ac6a){try{utils[_0xbb70('0x19')](util['format'](_0xbb70('0x25'),_0xd1ac6a[_0xbb70('0x1f')]),_0xd1ac6a);agents[_0xbb70('0x24')](_0xd1ac6a);queues[_0xbb70('0x24')](_0xd1ac6a);members[_0xbb70('0x24')](_0xd1ac6a);}catch(_0x5a0944){utils[_0xbb70('0x15')](util[_0xbb70('0x1a')]('[%s][index][agentcomplete]',_0xd1ac6a[_0xbb70('0x1f')]),_0x5a0944);}});ami['on']('queuecallerabandon',function(_0xc90fce){try{utils[_0xbb70('0x19')](util[_0xbb70('0x1a')](_0xbb70('0x26'),_0xc90fce[_0xbb70('0x1f')]),_0xc90fce);agents[_0xbb70('0x27')](_0xc90fce);queues[_0xbb70('0x27')](_0xc90fce);}catch(_0x5f2383){utils[_0xbb70('0x15')](util['format'](_0xbb70('0x26'),_0xc90fce[_0xbb70('0x1f')]),_0x5f2383);}});ami['on']('queuecallerjoin',function(_0x29c264){try{utils['debug'](util['format'](_0xbb70('0x28'),_0x29c264[_0xbb70('0x1f')]),_0x29c264);queues[_0xbb70('0x29')](_0x29c264);recordings[_0xbb70('0x29')](_0x29c264);}catch(_0x26cc66){utils[_0xbb70('0x15')](util[_0xbb70('0x1a')]('[%s][index][queuecallerjoin]',_0x29c264[_0xbb70('0x1f')]),_0x26cc66);}});ami['on'](_0xbb70('0x2a'),function(_0x4ab3d1){try{utils[_0xbb70('0x19')](util['format']('[%s][index][queuecallerleave]',_0x4ab3d1['uniqueid']),_0x4ab3d1);queues[_0xbb70('0x2a')](_0x4ab3d1);}catch(_0x5b7efb){utils['error'](util[_0xbb70('0x1a')]('[%s][index][queuecallerleave]',_0x4ab3d1[_0xbb70('0x1f')]),_0x5b7efb);}});ami['on'](_0xbb70('0x2b'),function(_0x148626){try{utils[_0xbb70('0x19')](util[_0xbb70('0x1a')](_0xbb70('0x2c'),_0x148626[_0xbb70('0x1f')]),_0x148626);queues['musiconholdstart'](_0x148626);calls['musiconholdstart'](_0x148626);}catch(_0x2e3d11){utils[_0xbb70('0x15')](util[_0xbb70('0x1a')](_0xbb70('0x2c'),_0x148626[_0xbb70('0x1f')]),_0x2e3d11);}});ami['on'](_0xbb70('0x2d'),function(_0x5a3826){try{utils[_0xbb70('0x19')](util[_0xbb70('0x1a')]('[%s][index][musiconholdstop]',_0x5a3826[_0xbb70('0x1f')]),_0x5a3826);queues[_0xbb70('0x2d')](_0x5a3826);calls[_0xbb70('0x2d')](_0x5a3826);}catch(_0x574dea){utils[_0xbb70('0x15')](util[_0xbb70('0x1a')](_0xbb70('0x2e'),_0x5a3826['uniqueid']),_0x574dea);}});ami['on'](_0xbb70('0x2f'),function(_0x261308){try{utils[_0xbb70('0x19')](util[_0xbb70('0x1a')]('[%s][index][newstate]',_0x261308[_0xbb70('0x1f')]),_0x261308);calls[_0xbb70('0x2f')](_0x261308);recordings[_0xbb70('0x2f')](_0x261308);}catch(_0x5cc097){utils[_0xbb70('0x15')](util[_0xbb70('0x1a')]('[%s][index][newstate]',_0x261308[_0xbb70('0x1f')]),_0x5cc097);}});ami['on'](_0xbb70('0x30'),function(_0x301ca3){try{utils[_0xbb70('0x19')](util['format']('[%s][index][hangup]',_0x301ca3[_0xbb70('0x1f')]),_0x301ca3);calls['hangup'](_0x301ca3);recordings[_0xbb70('0x30')](_0x301ca3);dials[_0xbb70('0x30')](_0x301ca3);agents[_0xbb70('0x30')](_0x301ca3);queues['hangup'](_0x301ca3);}catch(_0x1e480a){utils[_0xbb70('0x15')](util[_0xbb70('0x1a')](_0xbb70('0x31'),_0x301ca3['uniqueid']),_0x1e480a);}});ami['on']('cdr',function(_0x1f613a){try{utils[_0xbb70('0x19')](util[_0xbb70('0x1a')]('[%s][index][cdr]',_0x1f613a[_0xbb70('0x1f')]),_0x1f613a);members[_0xbb70('0x32')](_0x1f613a);}catch(_0x500b56){utils['error'](util[_0xbb70('0x1a')](_0xbb70('0x33'),_0x1f613a[_0xbb70('0x1f')]),_0x500b56);}});ami['on']('blindtransfer',function(_0x43370c){try{utils[_0xbb70('0x19')](util[_0xbb70('0x1a')](_0xbb70('0x34'),_0x43370c['uniqueid']),_0x43370c);queues[_0xbb70('0x35')](_0x43370c);agents[_0xbb70('0x35')](_0x43370c);transfers[_0xbb70('0x35')](_0x43370c);}catch(_0x32dba7){utils[_0xbb70('0x15')](util['format'](_0xbb70('0x34'),_0x43370c[_0xbb70('0x1f')]),_0x32dba7);}});ami['on']('attendedtransfer',function(_0x400cfa){try{utils['debug'](util['format'](_0xbb70('0x36'),_0x400cfa[_0xbb70('0x37')]),_0x400cfa);queues['attendedtransfer'](_0x400cfa);transfers[_0xbb70('0x38')](_0x400cfa);agents[_0xbb70('0x38')](_0x400cfa);calls[_0xbb70('0x38')](_0x400cfa);}catch(_0x4867d7){utils['error'](util[_0xbb70('0x1a')]('[%s][index][attendedtransfer]',_0x400cfa[_0xbb70('0x37')]),_0x4867d7);}});ami['on']('varset',function(_0x28b68a){try{utils['debug'](util[_0xbb70('0x1a')](_0xbb70('0x39'),_0x28b68a['uniqueid']),_0x28b68a);queues[_0xbb70('0x3a')](_0x28b68a);recordings[_0xbb70('0x3a')](_0x28b68a);calls[_0xbb70('0x3a')](_0x28b68a);dials['varset'](_0x28b68a);}catch(_0x2342a7){utils[_0xbb70('0x15')](util[_0xbb70('0x1a')]('[%s][index][varset]',_0x28b68a[_0xbb70('0x1f')]),_0x2342a7);}});ami['on']('newexten',function(_0x3d7281){try{utils[_0xbb70('0x19')](util[_0xbb70('0x1a')](_0xbb70('0x3b'),_0x3d7281[_0xbb70('0x1f')]),_0x3d7281);calls['newexten'](_0x3d7281);recordings[_0xbb70('0x3c')](_0x3d7281);dials['newexten'](_0x3d7281);}catch(_0x596643){utils[_0xbb70('0x15')](util[_0xbb70('0x1a')]('[%s][index][newexten]',_0x3d7281['uniqueid']),_0x596643);}});ami['on'](_0xbb70('0x3d'),function(_0x175a03){try{utils[_0xbb70('0x19')](util[_0xbb70('0x1a')](_0xbb70('0x3e'),_0x175a03[_0xbb70('0x1f')]),_0x175a03);calls[_0xbb70('0x3d')](_0x175a03);recordings['newchannel'](_0x175a03);}catch(_0x6d21ed){utils[_0xbb70('0x15')](util[_0xbb70('0x1a')](_0xbb70('0x3e'),_0x175a03['uniqueid']),_0x6d21ed);}});ami['on']('dialbegin',function(_0xc77f8d){try{utils[_0xbb70('0x19')](util[_0xbb70('0x1a')](_0xbb70('0x3f'),_0xc77f8d[_0xbb70('0x1f')]),_0xc77f8d);dials[_0xbb70('0x40')](_0xc77f8d);}catch(_0x4a113d){utils['error'](util[_0xbb70('0x1a')](_0xbb70('0x41'),_0xc77f8d[_0xbb70('0x1f')]),_0x4a113d);}});ami['on'](_0xbb70('0x42'),function(_0x12d180){try{utils['debug'](util[_0xbb70('0x1a')](_0xbb70('0x43'),_0x12d180['uniqueid']),_0x12d180);dials[_0xbb70('0x42')](_0x12d180);}catch(_0xf49bb4){utils[_0xbb70('0x15')](util[_0xbb70('0x1a')](_0xbb70('0x43'),_0x12d180[_0xbb70('0x1f')]),_0xf49bb4);}});}