6f8946d4636047c40824166f027dccc12c03ae31
[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 _0x7f3a=['[%s][index][varset]','[%s][index][newexten]','newexten','newchannel','[%s][index][newchannel]','dialbegin','[%s][index][dialbegin]','[%s]dialbegin','dialend','[%s][index][dialend]','util','asterisk','password','keepConnected','xdr','disabled','info','XDR\x20DISABLED','./agents.controller','./queues.controller','./recordings.controller','./members.controller','./transfers.controller','connect','shutdown','fullybooted','error','close','managerevent','devicestatechange','debug','format','[%s][index][devicestatechange]','device','agentcalled','uniqueid','[%s][index][agentcalled]','[%s][index][agentringnoanswer]','agentringnoanswer','[%s][index][agentconnect]','agentconnect','[%s][index][agentcomplete]','agentcomplete','queuecallerabandon','[%s][index][queuecallerabandon]','queuecallerjoin','[%s][index][queuecallerjoin]','queuecallerleave','[%s][index][queuecallerleave]','musiconholdstart','[%s][index][musiconholdstart]','musiconholdstop','[%s][index][musiconholdstop]','[%s][index][newstate]','newstate','hangup','[%s][index][hangup]','cdr','[%s][index][cdr]','[%s][index][blindtransfer]','blindtransfer','attendedtransfer','[%s][index][attendedtransfer]','origtransfereruniqueid','varset'];(function(_0x53d418,_0x2a5b90){var _0x3f3fdd=function(_0x38501b){while(--_0x38501b){_0x53d418['push'](_0x53d418['shift']());}};_0x3f3fdd(++_0x2a5b90);}(_0x7f3a,0xcd));var _0xa7f3=function(_0x3c03d3,_0x212627){_0x3c03d3=_0x3c03d3-0x0;var _0x44e290=_0x7f3a[_0x3c03d3];return _0x44e290;};var AsteriskManager=require('asterisk-manager');var config=require('../../config/environment');var utils=require('./utils');var util=require(_0xa7f3('0x0'));var ami=new AsteriskManager(config[_0xa7f3('0x1')]['port'],config[_0xa7f3('0x1')]['ip'],config[_0xa7f3('0x1')]['username'],config[_0xa7f3('0x1')][_0xa7f3('0x2')],!![]);ami[_0xa7f3('0x3')]();if(config[_0xa7f3('0x4')]&&config['xdr'][_0xa7f3('0x5')]){utils[_0xa7f3('0x6')](_0xa7f3('0x7'));}else{var agents=require(_0xa7f3('0x8'));var calls=require('./calls.controller');var queues=require(_0xa7f3('0x9'));var recordings=require(_0xa7f3('0xa'));var members=require(_0xa7f3('0xb'));var dials=require('./dials.controller');var transfers=require(_0xa7f3('0xc'));var core=require('./core.controller');ami['on'](_0xa7f3('0xd'),core['connect']);ami['on'](_0xa7f3('0xe'),core[_0xa7f3('0xe')]);ami['on']('fullybooted',core[_0xa7f3('0xf')]);ami['on'](_0xa7f3('0x10'),core[_0xa7f3('0x10')]);ami['on']('close',core[_0xa7f3('0x11')]);ami['on'](_0xa7f3('0x12'),core[_0xa7f3('0x12')]);ami['on'](_0xa7f3('0x13'),function(_0x341bdf){try{utils[_0xa7f3('0x14')](util[_0xa7f3('0x15')]('[%s][index][devicestatechange]',_0x341bdf['device']),_0x341bdf);members['devicestatechange'](_0x341bdf);}catch(_0x1f91a4){utils['error'](util[_0xa7f3('0x15')](_0xa7f3('0x16'),_0x341bdf[_0xa7f3('0x17')]),_0x1f91a4);}});ami['on'](_0xa7f3('0x18'),function(_0x446bc1){try{utils[_0xa7f3('0x14')](util['format']('[%s][index][agentcalled]',_0x446bc1[_0xa7f3('0x19')]),_0x446bc1);agents['agentcalled'](_0x446bc1);}catch(_0x40f6ec){utils['error'](util[_0xa7f3('0x15')](_0xa7f3('0x1a'),_0x446bc1['uniqueid']),_0x40f6ec);}});ami['on']('agentringnoanswer',function(_0x22d7a0){try{utils[_0xa7f3('0x14')](util['format'](_0xa7f3('0x1b'),_0x22d7a0[_0xa7f3('0x19')]),_0x22d7a0);agents[_0xa7f3('0x1c')](_0x22d7a0);}catch(_0x338439){utils[_0xa7f3('0x10')](util[_0xa7f3('0x15')]('[%s][index][agentringnoanswer]',_0x22d7a0[_0xa7f3('0x19')]),_0x338439);}});ami['on']('agentconnect',function(_0x4bd031){try{utils[_0xa7f3('0x14')](util[_0xa7f3('0x15')](_0xa7f3('0x1d'),_0x4bd031[_0xa7f3('0x19')]),_0x4bd031);agents[_0xa7f3('0x1e')](_0x4bd031);queues[_0xa7f3('0x1e')](_0x4bd031);}catch(_0x39f018){utils[_0xa7f3('0x10')](util[_0xa7f3('0x15')]('[%s][index][agentconnect]',_0x4bd031[_0xa7f3('0x19')]),_0x39f018);}});ami['on']('agentcomplete',function(_0x299eb2){try{utils[_0xa7f3('0x14')](util[_0xa7f3('0x15')](_0xa7f3('0x1f'),_0x299eb2['uniqueid']),_0x299eb2);agents[_0xa7f3('0x20')](_0x299eb2);queues[_0xa7f3('0x20')](_0x299eb2);members[_0xa7f3('0x20')](_0x299eb2);}catch(_0x36eac2){utils[_0xa7f3('0x10')](util[_0xa7f3('0x15')](_0xa7f3('0x1f'),_0x299eb2[_0xa7f3('0x19')]),_0x36eac2);}});ami['on'](_0xa7f3('0x21'),function(_0x2658f8){try{utils[_0xa7f3('0x14')](util[_0xa7f3('0x15')](_0xa7f3('0x22'),_0x2658f8[_0xa7f3('0x19')]),_0x2658f8);agents['queuecallerabandon'](_0x2658f8);queues['queuecallerabandon'](_0x2658f8);}catch(_0x4d1697){utils[_0xa7f3('0x10')](util['format'](_0xa7f3('0x22'),_0x2658f8[_0xa7f3('0x19')]),_0x4d1697);}});ami['on'](_0xa7f3('0x23'),function(_0x5e21a7){try{utils[_0xa7f3('0x14')](util[_0xa7f3('0x15')]('[%s][index][queuecallerjoin]',_0x5e21a7[_0xa7f3('0x19')]),_0x5e21a7);queues[_0xa7f3('0x23')](_0x5e21a7);recordings[_0xa7f3('0x23')](_0x5e21a7);}catch(_0x4a7063){utils[_0xa7f3('0x10')](util[_0xa7f3('0x15')](_0xa7f3('0x24'),_0x5e21a7['uniqueid']),_0x4a7063);}});ami['on'](_0xa7f3('0x25'),function(_0x591429){try{utils[_0xa7f3('0x14')](util[_0xa7f3('0x15')]('[%s][index][queuecallerleave]',_0x591429['uniqueid']),_0x591429);queues[_0xa7f3('0x25')](_0x591429);}catch(_0x81a44c){utils[_0xa7f3('0x10')](util[_0xa7f3('0x15')](_0xa7f3('0x26'),_0x591429['uniqueid']),_0x81a44c);}});ami['on'](_0xa7f3('0x27'),function(_0x34d0d5){try{utils[_0xa7f3('0x14')](util[_0xa7f3('0x15')](_0xa7f3('0x28'),_0x34d0d5['uniqueid']),_0x34d0d5);queues[_0xa7f3('0x27')](_0x34d0d5);calls[_0xa7f3('0x27')](_0x34d0d5);}catch(_0x12d3fd){utils[_0xa7f3('0x10')](util[_0xa7f3('0x15')](_0xa7f3('0x28'),_0x34d0d5[_0xa7f3('0x19')]),_0x12d3fd);}});ami['on'](_0xa7f3('0x29'),function(_0x10c429){try{utils['debug'](util[_0xa7f3('0x15')]('[%s][index][musiconholdstop]',_0x10c429[_0xa7f3('0x19')]),_0x10c429);queues[_0xa7f3('0x29')](_0x10c429);calls[_0xa7f3('0x29')](_0x10c429);}catch(_0x246a66){utils[_0xa7f3('0x10')](util[_0xa7f3('0x15')](_0xa7f3('0x2a'),_0x10c429[_0xa7f3('0x19')]),_0x246a66);}});ami['on']('newstate',function(_0x145418){try{utils['debug'](util[_0xa7f3('0x15')](_0xa7f3('0x2b'),_0x145418['uniqueid']),_0x145418);calls['newstate'](_0x145418);recordings[_0xa7f3('0x2c')](_0x145418);}catch(_0x34e6c4){utils[_0xa7f3('0x10')](util[_0xa7f3('0x15')](_0xa7f3('0x2b'),_0x145418['uniqueid']),_0x34e6c4);}});ami['on'](_0xa7f3('0x2d'),function(_0xac9da5){try{utils[_0xa7f3('0x14')](util['format']('[%s][index][hangup]',_0xac9da5['uniqueid']),_0xac9da5);calls[_0xa7f3('0x2d')](_0xac9da5);recordings[_0xa7f3('0x2d')](_0xac9da5);dials['hangup'](_0xac9da5);agents[_0xa7f3('0x2d')](_0xac9da5);queues[_0xa7f3('0x2d')](_0xac9da5);}catch(_0x2e47d1){utils[_0xa7f3('0x10')](util['format'](_0xa7f3('0x2e'),_0xac9da5['uniqueid']),_0x2e47d1);}});ami['on'](_0xa7f3('0x2f'),function(_0x3c1937){try{utils[_0xa7f3('0x14')](util[_0xa7f3('0x15')](_0xa7f3('0x30'),_0x3c1937['uniqueid']),_0x3c1937);members[_0xa7f3('0x2f')](_0x3c1937);}catch(_0x4038ac){utils[_0xa7f3('0x10')](util[_0xa7f3('0x15')](_0xa7f3('0x30'),_0x3c1937[_0xa7f3('0x19')]),_0x4038ac);}});ami['on']('blindtransfer',function(_0x3303de){try{utils[_0xa7f3('0x14')](util[_0xa7f3('0x15')](_0xa7f3('0x31'),_0x3303de[_0xa7f3('0x19')]),_0x3303de);queues[_0xa7f3('0x32')](_0x3303de);agents['blindtransfer'](_0x3303de);transfers['blindtransfer'](_0x3303de);}catch(_0x1d61f9){utils[_0xa7f3('0x10')](util[_0xa7f3('0x15')](_0xa7f3('0x31'),_0x3303de[_0xa7f3('0x19')]),_0x1d61f9);}});ami['on'](_0xa7f3('0x33'),function(_0x11cdf4){try{utils[_0xa7f3('0x14')](util[_0xa7f3('0x15')](_0xa7f3('0x34'),_0x11cdf4['origtransfereruniqueid']),_0x11cdf4);queues[_0xa7f3('0x33')](_0x11cdf4);transfers[_0xa7f3('0x33')](_0x11cdf4);agents[_0xa7f3('0x33')](_0x11cdf4);calls[_0xa7f3('0x33')](_0x11cdf4);}catch(_0x51215b){utils[_0xa7f3('0x10')](util[_0xa7f3('0x15')](_0xa7f3('0x34'),_0x11cdf4[_0xa7f3('0x35')]),_0x51215b);}});ami['on'](_0xa7f3('0x36'),function(_0x537eba){try{utils[_0xa7f3('0x14')](util[_0xa7f3('0x15')](_0xa7f3('0x37'),_0x537eba['uniqueid']),_0x537eba);queues[_0xa7f3('0x36')](_0x537eba);recordings[_0xa7f3('0x36')](_0x537eba);calls[_0xa7f3('0x36')](_0x537eba);dials[_0xa7f3('0x36')](_0x537eba);}catch(_0x58e984){utils[_0xa7f3('0x10')](util['format'](_0xa7f3('0x37'),_0x537eba[_0xa7f3('0x19')]),_0x58e984);}});ami['on']('newexten',function(_0x3c4e52){try{utils['debug'](util[_0xa7f3('0x15')](_0xa7f3('0x38'),_0x3c4e52[_0xa7f3('0x19')]),_0x3c4e52);calls['newexten'](_0x3c4e52);recordings[_0xa7f3('0x39')](_0x3c4e52);dials[_0xa7f3('0x39')](_0x3c4e52);}catch(_0x24037a){utils[_0xa7f3('0x10')](util[_0xa7f3('0x15')](_0xa7f3('0x38'),_0x3c4e52[_0xa7f3('0x19')]),_0x24037a);}});ami['on'](_0xa7f3('0x3a'),function(_0x50dbd5){try{utils[_0xa7f3('0x14')](util[_0xa7f3('0x15')](_0xa7f3('0x3b'),_0x50dbd5[_0xa7f3('0x19')]),_0x50dbd5);calls[_0xa7f3('0x3a')](_0x50dbd5);recordings['newchannel'](_0x50dbd5);}catch(_0x5daaa0){utils[_0xa7f3('0x10')](util[_0xa7f3('0x15')](_0xa7f3('0x3b'),_0x50dbd5['uniqueid']),_0x5daaa0);}});ami['on'](_0xa7f3('0x3c'),function(_0x23228b){try{utils['debug'](util[_0xa7f3('0x15')](_0xa7f3('0x3d'),_0x23228b[_0xa7f3('0x19')]),_0x23228b);dials['dialbegin'](_0x23228b);}catch(_0x20fa38){utils[_0xa7f3('0x10')](util[_0xa7f3('0x15')](_0xa7f3('0x3e'),_0x23228b[_0xa7f3('0x19')]),_0x20fa38);}});ami['on'](_0xa7f3('0x3f'),function(_0xe2eaf){try{utils[_0xa7f3('0x14')](util[_0xa7f3('0x15')](_0xa7f3('0x40'),_0xe2eaf['uniqueid']),_0xe2eaf);dials[_0xa7f3('0x3f')](_0xe2eaf);}catch(_0x4bd319){utils[_0xa7f3('0x10')](util[_0xa7f3('0x15')](_0xa7f3('0x40'),_0xe2eaf[_0xa7f3('0x19')]),_0x4bd319);}});}