5313c0ae6411024beac3625552aff1db829903ce
[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 _0x6109=['newexten','[%s][index][newexten]','[%s][index][newchannel]','newchannel','[%s][index][dialbegin]','[%s]dialbegin','dialend','[%s][index][dialend]','../../config/environment','./utils','util','asterisk','port','password','keepConnected','xdr','disabled','info','XDR\x20DISABLED','./agents.controller','./calls.controller','./queues.controller','./recordings.controller','./dials.controller','./transfers.controller','./core.controller','connect','shutdown','fullybooted','error','close','managerevent','devicestatechange','format','[%s][index][devicestatechange]','device','agentcalled','[%s][index][agentcalled]','uniqueid','agentringnoanswer','[%s][index][agentringnoanswer]','debug','[%s][index][agentconnect]','agentconnect','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','[%s][index][queuecallerabandon]','queuecallerjoin','[%s][index][queuecallerjoin]','[%s][index][queuecallerleave]','queuecallerleave','musiconholdstart','[%s][index][musiconholdstart]','musiconholdstop','[%s][index][musiconholdstop]','[%s][index][newstate]','newstate','[%s][index][hangup]','hangup','cdr','[%s][index][cdr]','[%s][index][blindtransfer]','blindtransfer','attendedtransfer','[%s][index][attendedtransfer]','origtransfereruniqueid','varset','[%s][index][varset]'];(function(_0x5a69b5,_0x167340){var _0x33a7fe=function(_0x5dd843){while(--_0x5dd843){_0x5a69b5['push'](_0x5a69b5['shift']());}};_0x33a7fe(++_0x167340);}(_0x6109,0xd7));var _0x9610=function(_0x157203,_0xe8f7d8){_0x157203=_0x157203-0x0;var _0x23a5c2=_0x6109[_0x157203];return _0x23a5c2;};var AsteriskManager=require('asterisk-manager');var config=require(_0x9610('0x0'));var utils=require(_0x9610('0x1'));var util=require(_0x9610('0x2'));var ami=new AsteriskManager(config[_0x9610('0x3')][_0x9610('0x4')],config[_0x9610('0x3')]['ip'],config['asterisk']['username'],config[_0x9610('0x3')][_0x9610('0x5')],!![]);ami[_0x9610('0x6')]();if(config[_0x9610('0x7')]&&config[_0x9610('0x7')][_0x9610('0x8')]){utils[_0x9610('0x9')](_0x9610('0xa'));}else{var agents=require(_0x9610('0xb'));var calls=require(_0x9610('0xc'));var queues=require(_0x9610('0xd'));var recordings=require(_0x9610('0xe'));var members=require('./members.controller');var dials=require(_0x9610('0xf'));var transfers=require(_0x9610('0x10'));var core=require(_0x9610('0x11'));ami['on'](_0x9610('0x12'),core[_0x9610('0x12')]);ami['on'](_0x9610('0x13'),core[_0x9610('0x13')]);ami['on'](_0x9610('0x14'),core['fullybooted']);ami['on'](_0x9610('0x15'),core[_0x9610('0x15')]);ami['on'](_0x9610('0x16'),core[_0x9610('0x16')]);ami['on'](_0x9610('0x17'),core[_0x9610('0x17')]);ami['on'](_0x9610('0x18'),function(_0x262504){try{utils['debug'](util[_0x9610('0x19')](_0x9610('0x1a'),_0x262504['device']),_0x262504);members['devicestatechange'](_0x262504);}catch(_0x36e44f){utils['error'](util[_0x9610('0x19')]('[%s][index][devicestatechange]',_0x262504[_0x9610('0x1b')]),_0x36e44f);}});ami['on'](_0x9610('0x1c'),function(_0x5dd526){try{utils['debug'](util[_0x9610('0x19')](_0x9610('0x1d'),_0x5dd526[_0x9610('0x1e')]),_0x5dd526);agents['agentcalled'](_0x5dd526);}catch(_0x5e4e71){utils[_0x9610('0x15')](util[_0x9610('0x19')](_0x9610('0x1d'),_0x5dd526[_0x9610('0x1e')]),_0x5e4e71);}});ami['on']('agentringnoanswer',function(_0x37e6c1){try{utils['debug'](util[_0x9610('0x19')]('[%s][index][agentringnoanswer]',_0x37e6c1['uniqueid']),_0x37e6c1);agents[_0x9610('0x1f')](_0x37e6c1);}catch(_0x5f2a7a){utils[_0x9610('0x15')](util['format'](_0x9610('0x20'),_0x37e6c1[_0x9610('0x1e')]),_0x5f2a7a);}});ami['on']('agentconnect',function(_0x238ef1){try{utils[_0x9610('0x21')](util['format'](_0x9610('0x22'),_0x238ef1[_0x9610('0x1e')]),_0x238ef1);agents[_0x9610('0x23')](_0x238ef1);queues['agentconnect'](_0x238ef1);}catch(_0x153109){utils['error'](util[_0x9610('0x19')](_0x9610('0x22'),_0x238ef1[_0x9610('0x1e')]),_0x153109);}});ami['on']('agentcomplete',function(_0x136ea7){try{utils['debug'](util[_0x9610('0x19')]('[%s][index][agentcomplete]',_0x136ea7[_0x9610('0x1e')]),_0x136ea7);agents[_0x9610('0x24')](_0x136ea7);queues[_0x9610('0x24')](_0x136ea7);members[_0x9610('0x24')](_0x136ea7);}catch(_0x1bad73){utils[_0x9610('0x15')](util[_0x9610('0x19')](_0x9610('0x25'),_0x136ea7[_0x9610('0x1e')]),_0x1bad73);}});ami['on']('queuecallerabandon',function(_0x46c7a2){try{utils[_0x9610('0x21')](util['format']('[%s][index][queuecallerabandon]',_0x46c7a2['uniqueid']),_0x46c7a2);agents[_0x9610('0x26')](_0x46c7a2);queues['queuecallerabandon'](_0x46c7a2);}catch(_0x20b0ba){utils[_0x9610('0x15')](util[_0x9610('0x19')](_0x9610('0x27'),_0x46c7a2[_0x9610('0x1e')]),_0x20b0ba);}});ami['on'](_0x9610('0x28'),function(_0x2bc071){try{utils['debug'](util['format'](_0x9610('0x29'),_0x2bc071['uniqueid']),_0x2bc071);queues[_0x9610('0x28')](_0x2bc071);recordings[_0x9610('0x28')](_0x2bc071);}catch(_0x41a5f6){utils[_0x9610('0x15')](util[_0x9610('0x19')]('[%s][index][queuecallerjoin]',_0x2bc071[_0x9610('0x1e')]),_0x41a5f6);}});ami['on']('queuecallerleave',function(_0x430c56){try{utils['debug'](util[_0x9610('0x19')](_0x9610('0x2a'),_0x430c56[_0x9610('0x1e')]),_0x430c56);queues[_0x9610('0x2b')](_0x430c56);}catch(_0x199761){utils[_0x9610('0x15')](util[_0x9610('0x19')]('[%s][index][queuecallerleave]',_0x430c56[_0x9610('0x1e')]),_0x199761);}});ami['on'](_0x9610('0x2c'),function(_0x56b30e){try{utils[_0x9610('0x21')](util[_0x9610('0x19')](_0x9610('0x2d'),_0x56b30e[_0x9610('0x1e')]),_0x56b30e);queues[_0x9610('0x2c')](_0x56b30e);calls[_0x9610('0x2c')](_0x56b30e);}catch(_0x506229){utils[_0x9610('0x15')](util[_0x9610('0x19')](_0x9610('0x2d'),_0x56b30e['uniqueid']),_0x506229);}});ami['on']('musiconholdstop',function(_0x4bde9e){try{utils[_0x9610('0x21')](util[_0x9610('0x19')]('[%s][index][musiconholdstop]',_0x4bde9e[_0x9610('0x1e')]),_0x4bde9e);queues[_0x9610('0x2e')](_0x4bde9e);calls[_0x9610('0x2e')](_0x4bde9e);}catch(_0x2b94f5){utils[_0x9610('0x15')](util[_0x9610('0x19')](_0x9610('0x2f'),_0x4bde9e['uniqueid']),_0x2b94f5);}});ami['on']('newstate',function(_0x37c39e){try{utils[_0x9610('0x21')](util[_0x9610('0x19')](_0x9610('0x30'),_0x37c39e[_0x9610('0x1e')]),_0x37c39e);calls[_0x9610('0x31')](_0x37c39e);recordings['newstate'](_0x37c39e);}catch(_0x14e3ef){utils[_0x9610('0x15')](util['format'](_0x9610('0x30'),_0x37c39e[_0x9610('0x1e')]),_0x14e3ef);}});ami['on']('hangup',function(_0x22d648){try{utils[_0x9610('0x21')](util[_0x9610('0x19')](_0x9610('0x32'),_0x22d648[_0x9610('0x1e')]),_0x22d648);calls[_0x9610('0x33')](_0x22d648);recordings[_0x9610('0x33')](_0x22d648);dials[_0x9610('0x33')](_0x22d648);agents[_0x9610('0x33')](_0x22d648);queues['hangup'](_0x22d648);}catch(_0x3cad5f){utils[_0x9610('0x15')](util[_0x9610('0x19')]('[%s][index][hangup]',_0x22d648[_0x9610('0x1e')]),_0x3cad5f);}});ami['on'](_0x9610('0x34'),function(_0x148367){try{utils['debug'](util[_0x9610('0x19')]('[%s][index][cdr]',_0x148367[_0x9610('0x1e')]),_0x148367);members[_0x9610('0x34')](_0x148367);}catch(_0x1e6453){utils[_0x9610('0x15')](util['format'](_0x9610('0x35'),_0x148367[_0x9610('0x1e')]),_0x1e6453);}});ami['on']('blindtransfer',function(_0x33877e){try{utils[_0x9610('0x21')](util[_0x9610('0x19')](_0x9610('0x36'),_0x33877e[_0x9610('0x1e')]),_0x33877e);queues[_0x9610('0x37')](_0x33877e);agents[_0x9610('0x37')](_0x33877e);transfers[_0x9610('0x37')](_0x33877e);recordings['blindtransfer'](_0x33877e);}catch(_0x41db44){utils[_0x9610('0x15')](util[_0x9610('0x19')](_0x9610('0x36'),_0x33877e[_0x9610('0x1e')]),_0x41db44);}});ami['on'](_0x9610('0x38'),function(_0x19ebcc){try{utils[_0x9610('0x21')](util[_0x9610('0x19')](_0x9610('0x39'),_0x19ebcc[_0x9610('0x3a')]),_0x19ebcc);queues['attendedtransfer'](_0x19ebcc);transfers[_0x9610('0x38')](_0x19ebcc);agents[_0x9610('0x38')](_0x19ebcc);calls[_0x9610('0x38')](_0x19ebcc);}catch(_0x257f02){utils[_0x9610('0x15')](util[_0x9610('0x19')]('[%s][index][attendedtransfer]',_0x19ebcc[_0x9610('0x3a')]),_0x257f02);}});ami['on'](_0x9610('0x3b'),function(_0x598524){try{utils[_0x9610('0x21')](util['format']('[%s][index][varset]',_0x598524[_0x9610('0x1e')]),_0x598524);queues[_0x9610('0x3b')](_0x598524);recordings['varset'](_0x598524);calls[_0x9610('0x3b')](_0x598524);dials[_0x9610('0x3b')](_0x598524);}catch(_0xba00d3){utils[_0x9610('0x15')](util[_0x9610('0x19')](_0x9610('0x3c'),_0x598524[_0x9610('0x1e')]),_0xba00d3);}});ami['on'](_0x9610('0x3d'),function(_0x1c44e5){try{utils[_0x9610('0x21')](util[_0x9610('0x19')](_0x9610('0x3e'),_0x1c44e5[_0x9610('0x1e')]),_0x1c44e5);calls[_0x9610('0x3d')](_0x1c44e5);recordings['newexten'](_0x1c44e5);dials[_0x9610('0x3d')](_0x1c44e5);}catch(_0x3f3581){utils[_0x9610('0x15')](util[_0x9610('0x19')](_0x9610('0x3e'),_0x1c44e5[_0x9610('0x1e')]),_0x3f3581);}});ami['on']('newchannel',function(_0x303ad5){try{utils['debug'](util[_0x9610('0x19')](_0x9610('0x3f'),_0x303ad5[_0x9610('0x1e')]),_0x303ad5);calls[_0x9610('0x40')](_0x303ad5);recordings[_0x9610('0x40')](_0x303ad5);}catch(_0x286a90){utils[_0x9610('0x15')](util[_0x9610('0x19')]('[%s][index][newchannel]',_0x303ad5[_0x9610('0x1e')]),_0x286a90);}});ami['on']('dialbegin',function(_0x20126a){try{utils['debug'](util['format'](_0x9610('0x41'),_0x20126a['uniqueid']),_0x20126a);dials['dialbegin'](_0x20126a);}catch(_0x5f2cc3){utils[_0x9610('0x15')](util['format'](_0x9610('0x42'),_0x20126a[_0x9610('0x1e')]),_0x5f2cc3);}});ami['on'](_0x9610('0x43'),function(_0x8b05c5){try{utils[_0x9610('0x21')](util['format']('[%s][index][dialend]',_0x8b05c5[_0x9610('0x1e')]),_0x8b05c5);dials[_0x9610('0x43')](_0x8b05c5);}catch(_0x1bdbe2){utils[_0x9610('0x15')](util[_0x9610('0x19')](_0x9610('0x44'),_0x8b05c5['uniqueid']),_0x1bdbe2);}});}