72d8dd92c61dfda1cdfdad7326b0bc2e7e3b99e9
[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 _0x0b35=['./utils','util','asterisk','port','username','password','keepConnected','xdr','info','XDR\x20DISABLED','./calls.controller','./queues.controller','./recordings.controller','./members.controller','./dials.controller','./core.controller','connect','shutdown','fullybooted','error','close','devicestatechange','[%s][index][devicestatechange]','device','format','agentcalled','debug','[%s][index][agentcalled]','uniqueid','[%s][index][agentringnoanswer]','agentconnect','[%s][index][agentconnect]','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','[%s][index][queuecallerabandon]','queuecallerjoin','[%s][index][queuecallerjoin]','queuecallerleave','[%s][index][queuecallerleave]','musiconholdstart','[%s][index][musiconholdstart]','musiconholdstop','[%s][index][musiconholdstop]','newstate','[%s][index][newstate]','hangup','[%s][index][hangup]','cdr','[%s][index][cdr]','[%s][index][blindtransfer]','blindtransfer','attendedtransfer','[%s][index][attendedtransfer]','origtransfereruniqueid','varset','[%s][index][varset]','[%s][index][newexten]','newexten','newchannel','[%s][index][newchannel]','dialbegin','[%s][index][dialbegin]','[%s]dialbegin','dialend'];(function(_0x57c662,_0x2c9ffe){var _0x216916=function(_0x357ee8){while(--_0x357ee8){_0x57c662['push'](_0x57c662['shift']());}};_0x216916(++_0x2c9ffe);}(_0x0b35,0x145));var _0x50b3=function(_0x48f4c5,_0x56e4c3){_0x48f4c5=_0x48f4c5-0x0;var _0x40ab65=_0x0b35[_0x48f4c5];return _0x40ab65;};var AsteriskManager=require('asterisk-manager');var config=require('../../config/environment');var utils=require(_0x50b3('0x0'));var util=require(_0x50b3('0x1'));var ami=new AsteriskManager(config[_0x50b3('0x2')][_0x50b3('0x3')],config['asterisk']['ip'],config['asterisk'][_0x50b3('0x4')],config[_0x50b3('0x2')][_0x50b3('0x5')],!![]);ami[_0x50b3('0x6')]();if(config[_0x50b3('0x7')]&&config[_0x50b3('0x7')]['disabled']){utils[_0x50b3('0x8')](_0x50b3('0x9'));}else{var agents=require('./agents.controller');var calls=require(_0x50b3('0xa'));var queues=require(_0x50b3('0xb'));var recordings=require(_0x50b3('0xc'));var members=require(_0x50b3('0xd'));var dials=require(_0x50b3('0xe'));var transfers=require('./transfers.controller');var core=require(_0x50b3('0xf'));ami['on'](_0x50b3('0x10'),core[_0x50b3('0x10')]);ami['on'](_0x50b3('0x11'),core[_0x50b3('0x11')]);ami['on']('fullybooted',core[_0x50b3('0x12')]);ami['on'](_0x50b3('0x13'),core['error']);ami['on'](_0x50b3('0x14'),core[_0x50b3('0x14')]);ami['on']('managerevent',core['managerevent']);ami['on'](_0x50b3('0x15'),function(_0x527706){try{utils['debug'](util['format'](_0x50b3('0x16'),_0x527706[_0x50b3('0x17')]),_0x527706);members[_0x50b3('0x15')](_0x527706);}catch(_0x568f5a){utils['error'](util[_0x50b3('0x18')](_0x50b3('0x16'),_0x527706['device']),_0x568f5a);}});ami['on'](_0x50b3('0x19'),function(_0x28fdad){try{utils[_0x50b3('0x1a')](util['format'](_0x50b3('0x1b'),_0x28fdad[_0x50b3('0x1c')]),_0x28fdad);agents['agentcalled'](_0x28fdad);}catch(_0x335578){utils[_0x50b3('0x13')](util['format']('[%s][index][agentcalled]',_0x28fdad[_0x50b3('0x1c')]),_0x335578);}});ami['on']('agentringnoanswer',function(_0x2cc2ba){try{utils[_0x50b3('0x1a')](util[_0x50b3('0x18')](_0x50b3('0x1d'),_0x2cc2ba[_0x50b3('0x1c')]),_0x2cc2ba);agents['agentringnoanswer'](_0x2cc2ba);}catch(_0x51a478){utils[_0x50b3('0x13')](util[_0x50b3('0x18')](_0x50b3('0x1d'),_0x2cc2ba['uniqueid']),_0x51a478);}});ami['on'](_0x50b3('0x1e'),function(_0x4f178d){try{utils[_0x50b3('0x1a')](util[_0x50b3('0x18')](_0x50b3('0x1f'),_0x4f178d[_0x50b3('0x1c')]),_0x4f178d);agents[_0x50b3('0x1e')](_0x4f178d);queues[_0x50b3('0x1e')](_0x4f178d);}catch(_0x3f80a2){utils['error'](util[_0x50b3('0x18')]('[%s][index][agentconnect]',_0x4f178d[_0x50b3('0x1c')]),_0x3f80a2);}});ami['on'](_0x50b3('0x20'),function(_0x50af0b){try{utils[_0x50b3('0x1a')](util['format'](_0x50b3('0x21'),_0x50af0b['uniqueid']),_0x50af0b);agents[_0x50b3('0x20')](_0x50af0b);queues[_0x50b3('0x20')](_0x50af0b);members['agentcomplete'](_0x50af0b);}catch(_0x1b1c07){utils['error'](util[_0x50b3('0x18')](_0x50b3('0x21'),_0x50af0b[_0x50b3('0x1c')]),_0x1b1c07);}});ami['on'](_0x50b3('0x22'),function(_0x1437bd){try{utils[_0x50b3('0x1a')](util[_0x50b3('0x18')](_0x50b3('0x23'),_0x1437bd['uniqueid']),_0x1437bd);agents[_0x50b3('0x22')](_0x1437bd);queues[_0x50b3('0x22')](_0x1437bd);}catch(_0x37d74f){utils[_0x50b3('0x13')](util['format']('[%s][index][queuecallerabandon]',_0x1437bd[_0x50b3('0x1c')]),_0x37d74f);}});ami['on']('queuecallerjoin',function(_0x4fad5a){try{utils['debug'](util[_0x50b3('0x18')]('[%s][index][queuecallerjoin]',_0x4fad5a[_0x50b3('0x1c')]),_0x4fad5a);queues[_0x50b3('0x24')](_0x4fad5a);recordings['queuecallerjoin'](_0x4fad5a);}catch(_0x46e368){utils['error'](util[_0x50b3('0x18')](_0x50b3('0x25'),_0x4fad5a[_0x50b3('0x1c')]),_0x46e368);}});ami['on'](_0x50b3('0x26'),function(_0x17d5a9){try{utils[_0x50b3('0x1a')](util[_0x50b3('0x18')](_0x50b3('0x27'),_0x17d5a9['uniqueid']),_0x17d5a9);queues[_0x50b3('0x26')](_0x17d5a9);}catch(_0x45e183){utils[_0x50b3('0x13')](util['format'](_0x50b3('0x27'),_0x17d5a9['uniqueid']),_0x45e183);}});ami['on'](_0x50b3('0x28'),function(_0xdadf60){try{utils[_0x50b3('0x1a')](util[_0x50b3('0x18')](_0x50b3('0x29'),_0xdadf60[_0x50b3('0x1c')]),_0xdadf60);queues[_0x50b3('0x28')](_0xdadf60);calls['musiconholdstart'](_0xdadf60);}catch(_0x4e6984){utils[_0x50b3('0x13')](util['format'](_0x50b3('0x29'),_0xdadf60[_0x50b3('0x1c')]),_0x4e6984);}});ami['on'](_0x50b3('0x2a'),function(_0x330a71){try{utils[_0x50b3('0x1a')](util[_0x50b3('0x18')](_0x50b3('0x2b'),_0x330a71[_0x50b3('0x1c')]),_0x330a71);queues[_0x50b3('0x2a')](_0x330a71);calls['musiconholdstop'](_0x330a71);}catch(_0xa864e7){utils[_0x50b3('0x13')](util[_0x50b3('0x18')](_0x50b3('0x2b'),_0x330a71[_0x50b3('0x1c')]),_0xa864e7);}});ami['on'](_0x50b3('0x2c'),function(_0x20336e){try{utils[_0x50b3('0x1a')](util[_0x50b3('0x18')](_0x50b3('0x2d'),_0x20336e[_0x50b3('0x1c')]),_0x20336e);calls['newstate'](_0x20336e);recordings[_0x50b3('0x2c')](_0x20336e);}catch(_0x32e68c){utils[_0x50b3('0x13')](util[_0x50b3('0x18')](_0x50b3('0x2d'),_0x20336e['uniqueid']),_0x32e68c);}});ami['on'](_0x50b3('0x2e'),function(_0x1b9e45){try{utils['debug'](util[_0x50b3('0x18')](_0x50b3('0x2f'),_0x1b9e45[_0x50b3('0x1c')]),_0x1b9e45);calls[_0x50b3('0x2e')](_0x1b9e45);recordings['hangup'](_0x1b9e45);dials[_0x50b3('0x2e')](_0x1b9e45);agents[_0x50b3('0x2e')](_0x1b9e45);queues[_0x50b3('0x2e')](_0x1b9e45);}catch(_0x22fb68){utils[_0x50b3('0x13')](util[_0x50b3('0x18')](_0x50b3('0x2f'),_0x1b9e45[_0x50b3('0x1c')]),_0x22fb68);}});ami['on'](_0x50b3('0x30'),function(_0xe3c61d){try{utils[_0x50b3('0x1a')](util[_0x50b3('0x18')](_0x50b3('0x31'),_0xe3c61d[_0x50b3('0x1c')]),_0xe3c61d);members[_0x50b3('0x30')](_0xe3c61d);}catch(_0x38fe96){utils[_0x50b3('0x13')](util[_0x50b3('0x18')]('[%s][index][cdr]',_0xe3c61d[_0x50b3('0x1c')]),_0x38fe96);}});ami['on']('blindtransfer',function(_0x6615c3){try{utils['debug'](util[_0x50b3('0x18')](_0x50b3('0x32'),_0x6615c3[_0x50b3('0x1c')]),_0x6615c3);queues['blindtransfer'](_0x6615c3);agents[_0x50b3('0x33')](_0x6615c3);transfers[_0x50b3('0x33')](_0x6615c3);}catch(_0x1dfcc7){utils[_0x50b3('0x13')](util[_0x50b3('0x18')]('[%s][index][blindtransfer]',_0x6615c3[_0x50b3('0x1c')]),_0x1dfcc7);}});ami['on'](_0x50b3('0x34'),function(_0x19f921){try{utils[_0x50b3('0x1a')](util[_0x50b3('0x18')](_0x50b3('0x35'),_0x19f921[_0x50b3('0x36')]),_0x19f921);queues[_0x50b3('0x34')](_0x19f921);transfers['attendedtransfer'](_0x19f921);agents['attendedtransfer'](_0x19f921);calls[_0x50b3('0x34')](_0x19f921);}catch(_0x1903fc){utils[_0x50b3('0x13')](util[_0x50b3('0x18')]('[%s][index][attendedtransfer]',_0x19f921[_0x50b3('0x36')]),_0x1903fc);}});ami['on'](_0x50b3('0x37'),function(_0x1b3ffb){try{utils[_0x50b3('0x1a')](util[_0x50b3('0x18')](_0x50b3('0x38'),_0x1b3ffb[_0x50b3('0x1c')]),_0x1b3ffb);queues[_0x50b3('0x37')](_0x1b3ffb);recordings['varset'](_0x1b3ffb);calls[_0x50b3('0x37')](_0x1b3ffb);dials[_0x50b3('0x37')](_0x1b3ffb);}catch(_0x216b6d){utils[_0x50b3('0x13')](util[_0x50b3('0x18')](_0x50b3('0x38'),_0x1b3ffb['uniqueid']),_0x216b6d);}});ami['on']('newexten',function(_0x2ae5a0){try{utils[_0x50b3('0x1a')](util[_0x50b3('0x18')](_0x50b3('0x39'),_0x2ae5a0[_0x50b3('0x1c')]),_0x2ae5a0);calls[_0x50b3('0x3a')](_0x2ae5a0);recordings['newexten'](_0x2ae5a0);dials[_0x50b3('0x3a')](_0x2ae5a0);}catch(_0x1d0d01){utils[_0x50b3('0x13')](util['format'](_0x50b3('0x39'),_0x2ae5a0[_0x50b3('0x1c')]),_0x1d0d01);}});ami['on'](_0x50b3('0x3b'),function(_0x1850c5){try{utils['debug'](util[_0x50b3('0x18')](_0x50b3('0x3c'),_0x1850c5[_0x50b3('0x1c')]),_0x1850c5);calls[_0x50b3('0x3b')](_0x1850c5);recordings[_0x50b3('0x3b')](_0x1850c5);}catch(_0x4dc5fe){utils['error'](util[_0x50b3('0x18')](_0x50b3('0x3c'),_0x1850c5[_0x50b3('0x1c')]),_0x4dc5fe);}});ami['on'](_0x50b3('0x3d'),function(_0x5549a5){try{utils['debug'](util[_0x50b3('0x18')](_0x50b3('0x3e'),_0x5549a5[_0x50b3('0x1c')]),_0x5549a5);dials['dialbegin'](_0x5549a5);}catch(_0x4b8a03){utils[_0x50b3('0x13')](util[_0x50b3('0x18')](_0x50b3('0x3f'),_0x5549a5[_0x50b3('0x1c')]),_0x4b8a03);}});ami['on'](_0x50b3('0x40'),function(_0x27c580){try{utils[_0x50b3('0x1a')](util[_0x50b3('0x18')]('[%s][index][dialend]',_0x27c580[_0x50b3('0x1c')]),_0x27c580);dials[_0x50b3('0x40')](_0x27c580);}catch(_0x1eca6a){utils[_0x50b3('0x13')](util['format']('[%s][index][dialend]',_0x27c580[_0x50b3('0x1c')]),_0x1eca6a);}});}