Built motion from commit d5e4af8c.|2.6.23
[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 _0x3034=['attendedtransfer','origtransfereruniqueid','varset','[%s][index][varset]','newexten','[%s][index][newexten]','newchannel','[%s][index][newchannel]','[%s][index][dialbegin]','dialend','[%s][index][dialend]','../../config/environment','./utils','util','xdr','disabled','asterisk','username','keepConnected','XDR\x20DISABLED','info','./queues.controller','./recordings.controller','./members.controller','./dials.controller','./transfers.controller','connect','shutdown','fullybooted','error','close','managerevent','devicestatechange','debug','format','[%s][index][devicestatechange]','device','[%s][index][agentcalled]','uniqueid','agentcalled','[%s][index][agentringnoanswer]','agentringnoanswer','agentconnect','[%s][index][agentconnect]','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon','[%s][index][queuecallerabandon]','queuecallerjoin','[%s][index][queuecallerjoin]','queuecallerleave','[%s][index][queuecallerleave]','[%s][index][musiconholdstart]','musiconholdstart','[%s][index][musiconholdstop]','newstate','hangup','[%s][index][hangup]','[%s][index][cdr]','cdr','[%s][index][blindtransfer]','blindtransfer','[%s][index][attendedtransfer]'];(function(_0x111032,_0x3a75d6){var _0x1a0a9b=function(_0x33c71f){while(--_0x33c71f){_0x111032['push'](_0x111032['shift']());}};_0x1a0a9b(++_0x3a75d6);}(_0x3034,0x107));var _0x4303=function(_0x2641f9,_0x26715f){_0x2641f9=_0x2641f9-0x0;var _0x585741=_0x3034[_0x2641f9];return _0x585741;};var AsteriskManager=require('asterisk-manager');var config=require(_0x4303('0x0'));var utils=require(_0x4303('0x1'));var util=require(_0x4303('0x2'));var isXDREnabled=config['xdr']&&config[_0x4303('0x3')][_0x4303('0x4')]?!config['xdr'][_0x4303('0x4')]:!![];var isProduction=config['env']==='production'||![];var isLocalAsterisk=config[_0x4303('0x3')]&&config[_0x4303('0x3')]['local']===!![]||![];var ami=new AsteriskManager(config[_0x4303('0x5')]['port'],config[_0x4303('0x5')]['ip'],config[_0x4303('0x5')][_0x4303('0x6')],config[_0x4303('0x5')]['password'],!![]);ami[_0x4303('0x7')]();if(!isXDREnabled){utils['info'](_0x4303('0x8'));}else if(!isProduction&&!isLocalAsterisk){utils[_0x4303('0x9')]('Asterisk\x20disabled\x20on\x20localhost');}else{var agents=require('./agents.controller');var calls=require('./calls.controller');var queues=require(_0x4303('0xa'));var recordings=require(_0x4303('0xb'));var members=require(_0x4303('0xc'));var dials=require(_0x4303('0xd'));var transfers=require(_0x4303('0xe'));var core=require('./core.controller');ami['on'](_0x4303('0xf'),core[_0x4303('0xf')]);ami['on'](_0x4303('0x10'),core[_0x4303('0x10')]);ami['on'](_0x4303('0x11'),core[_0x4303('0x11')]);ami['on'](_0x4303('0x12'),core[_0x4303('0x12')]);ami['on'](_0x4303('0x13'),core[_0x4303('0x13')]);ami['on'](_0x4303('0x14'),core[_0x4303('0x14')]);ami['on'](_0x4303('0x15'),function(_0x2df8bc){try{utils[_0x4303('0x16')](util[_0x4303('0x17')](_0x4303('0x18'),_0x2df8bc[_0x4303('0x19')]),_0x2df8bc);members[_0x4303('0x15')](_0x2df8bc);}catch(_0x29fa7c){utils[_0x4303('0x12')](util[_0x4303('0x17')]('[%s][index][devicestatechange]',_0x2df8bc[_0x4303('0x19')]),_0x29fa7c);}});ami['on']('agentcalled',function(_0x1ba007){try{utils[_0x4303('0x16')](util[_0x4303('0x17')](_0x4303('0x1a'),_0x1ba007[_0x4303('0x1b')]),_0x1ba007);agents[_0x4303('0x1c')](_0x1ba007);}catch(_0x528c65){utils['error'](util['format']('[%s][index][agentcalled]',_0x1ba007[_0x4303('0x1b')]),_0x528c65);}});ami['on']('agentringnoanswer',function(_0x2487d3){try{utils[_0x4303('0x16')](util[_0x4303('0x17')](_0x4303('0x1d'),_0x2487d3['uniqueid']),_0x2487d3);agents[_0x4303('0x1e')](_0x2487d3);}catch(_0x495957){utils[_0x4303('0x12')](util[_0x4303('0x17')](_0x4303('0x1d'),_0x2487d3['uniqueid']),_0x495957);}});ami['on'](_0x4303('0x1f'),function(_0x13d515){try{utils[_0x4303('0x16')](util[_0x4303('0x17')](_0x4303('0x20'),_0x13d515['uniqueid']),_0x13d515);agents[_0x4303('0x1f')](_0x13d515);queues[_0x4303('0x1f')](_0x13d515);}catch(_0x204711){utils[_0x4303('0x12')](util[_0x4303('0x17')]('[%s][index][agentconnect]',_0x13d515[_0x4303('0x1b')]),_0x204711);}});ami['on'](_0x4303('0x21'),function(_0x110052){try{utils[_0x4303('0x16')](util['format'](_0x4303('0x22'),_0x110052[_0x4303('0x1b')]),_0x110052);agents[_0x4303('0x21')](_0x110052);queues[_0x4303('0x21')](_0x110052);members[_0x4303('0x21')](_0x110052);}catch(_0x50db98){utils['error'](util[_0x4303('0x17')](_0x4303('0x22'),_0x110052[_0x4303('0x1b')]),_0x50db98);}});ami['on'](_0x4303('0x23'),function(_0x650c7b){try{utils['debug'](util['format'](_0x4303('0x24'),_0x650c7b[_0x4303('0x1b')]),_0x650c7b);agents[_0x4303('0x23')](_0x650c7b);queues[_0x4303('0x23')](_0x650c7b);}catch(_0x30bb83){utils[_0x4303('0x12')](util[_0x4303('0x17')]('[%s][index][queuecallerabandon]',_0x650c7b[_0x4303('0x1b')]),_0x30bb83);}});ami['on'](_0x4303('0x25'),function(_0x80c27c){try{utils[_0x4303('0x16')](util['format'](_0x4303('0x26'),_0x80c27c['uniqueid']),_0x80c27c);queues['queuecallerjoin'](_0x80c27c);recordings['queuecallerjoin'](_0x80c27c);}catch(_0x85810){utils[_0x4303('0x12')](util[_0x4303('0x17')]('[%s][index][queuecallerjoin]',_0x80c27c[_0x4303('0x1b')]),_0x85810);}});ami['on'](_0x4303('0x27'),function(_0x3800b7){try{utils['debug'](util[_0x4303('0x17')](_0x4303('0x28'),_0x3800b7[_0x4303('0x1b')]),_0x3800b7);queues[_0x4303('0x27')](_0x3800b7);}catch(_0x33e92c){utils[_0x4303('0x12')](util[_0x4303('0x17')](_0x4303('0x28'),_0x3800b7[_0x4303('0x1b')]),_0x33e92c);}});ami['on']('musiconholdstart',function(_0xe784ce){try{utils[_0x4303('0x16')](util[_0x4303('0x17')](_0x4303('0x29'),_0xe784ce['uniqueid']),_0xe784ce);queues[_0x4303('0x2a')](_0xe784ce);calls[_0x4303('0x2a')](_0xe784ce);}catch(_0x349601){utils[_0x4303('0x12')](util[_0x4303('0x17')](_0x4303('0x29'),_0xe784ce[_0x4303('0x1b')]),_0x349601);}});ami['on']('musiconholdstop',function(_0x1e7153){try{utils[_0x4303('0x16')](util['format'](_0x4303('0x2b'),_0x1e7153[_0x4303('0x1b')]),_0x1e7153);queues['musiconholdstop'](_0x1e7153);calls['musiconholdstop'](_0x1e7153);}catch(_0x1dadc8){utils['error'](util[_0x4303('0x17')](_0x4303('0x2b'),_0x1e7153['uniqueid']),_0x1dadc8);}});ami['on']('newstate',function(_0x995c87){try{utils[_0x4303('0x16')](util[_0x4303('0x17')]('[%s][index][newstate]',_0x995c87[_0x4303('0x1b')]),_0x995c87);calls[_0x4303('0x2c')](_0x995c87);recordings[_0x4303('0x2c')](_0x995c87);}catch(_0x485fb9){utils['error'](util[_0x4303('0x17')]('[%s][index][newstate]',_0x995c87['uniqueid']),_0x485fb9);}});ami['on'](_0x4303('0x2d'),function(_0xd702de){try{utils[_0x4303('0x16')](util[_0x4303('0x17')](_0x4303('0x2e'),_0xd702de[_0x4303('0x1b')]),_0xd702de);calls[_0x4303('0x2d')](_0xd702de);recordings[_0x4303('0x2d')](_0xd702de);dials[_0x4303('0x2d')](_0xd702de);agents[_0x4303('0x2d')](_0xd702de);queues[_0x4303('0x2d')](_0xd702de);}catch(_0x1af65e){utils[_0x4303('0x12')](util[_0x4303('0x17')](_0x4303('0x2e'),_0xd702de[_0x4303('0x1b')]),_0x1af65e);}});ami['on']('cdr',function(_0x34abc1){try{utils[_0x4303('0x16')](util['format'](_0x4303('0x2f'),_0x34abc1[_0x4303('0x1b')]),_0x34abc1);members[_0x4303('0x30')](_0x34abc1);}catch(_0x340820){utils[_0x4303('0x12')](util[_0x4303('0x17')]('[%s][index][cdr]',_0x34abc1[_0x4303('0x1b')]),_0x340820);}});ami['on']('blindtransfer',function(_0x1266c5){try{utils[_0x4303('0x16')](util[_0x4303('0x17')](_0x4303('0x31'),_0x1266c5[_0x4303('0x1b')]),_0x1266c5);queues[_0x4303('0x32')](_0x1266c5);agents[_0x4303('0x32')](_0x1266c5);transfers['blindtransfer'](_0x1266c5);}catch(_0x426480){utils[_0x4303('0x12')](util[_0x4303('0x17')](_0x4303('0x31'),_0x1266c5[_0x4303('0x1b')]),_0x426480);}});ami['on']('attendedtransfer',function(_0x151a2c){try{utils[_0x4303('0x16')](util['format'](_0x4303('0x33'),_0x151a2c['origtransfereruniqueid']),_0x151a2c);queues[_0x4303('0x34')](_0x151a2c);transfers[_0x4303('0x34')](_0x151a2c);agents['attendedtransfer'](_0x151a2c);calls['attendedtransfer'](_0x151a2c);}catch(_0x52799e){utils['error'](util[_0x4303('0x17')](_0x4303('0x33'),_0x151a2c[_0x4303('0x35')]),_0x52799e);}});ami['on'](_0x4303('0x36'),function(_0x51a451){try{utils[_0x4303('0x16')](util[_0x4303('0x17')](_0x4303('0x37'),_0x51a451[_0x4303('0x1b')]),_0x51a451);queues[_0x4303('0x36')](_0x51a451);recordings[_0x4303('0x36')](_0x51a451);calls[_0x4303('0x36')](_0x51a451);dials[_0x4303('0x36')](_0x51a451);}catch(_0x1496c9){utils[_0x4303('0x12')](util[_0x4303('0x17')](_0x4303('0x37'),_0x51a451[_0x4303('0x1b')]),_0x1496c9);}});ami['on'](_0x4303('0x38'),function(_0x22db57){try{utils[_0x4303('0x16')](util['format'](_0x4303('0x39'),_0x22db57[_0x4303('0x1b')]),_0x22db57);calls[_0x4303('0x38')](_0x22db57);recordings[_0x4303('0x38')](_0x22db57);dials['newexten'](_0x22db57);}catch(_0x45d942){utils['error'](util[_0x4303('0x17')](_0x4303('0x39'),_0x22db57[_0x4303('0x1b')]),_0x45d942);}});ami['on'](_0x4303('0x3a'),function(_0x2242a2){try{utils[_0x4303('0x16')](util[_0x4303('0x17')](_0x4303('0x3b'),_0x2242a2[_0x4303('0x1b')]),_0x2242a2);calls[_0x4303('0x3a')](_0x2242a2);recordings[_0x4303('0x3a')](_0x2242a2);}catch(_0x16ae20){utils['error'](util[_0x4303('0x17')](_0x4303('0x3b'),_0x2242a2[_0x4303('0x1b')]),_0x16ae20);}});ami['on']('dialbegin',function(_0x4d3b6a){try{utils['debug'](util[_0x4303('0x17')](_0x4303('0x3c'),_0x4d3b6a[_0x4303('0x1b')]),_0x4d3b6a);dials['dialbegin'](_0x4d3b6a);}catch(_0x20de3a){utils[_0x4303('0x12')](util[_0x4303('0x17')]('[%s]dialbegin',_0x4d3b6a[_0x4303('0x1b')]),_0x20de3a);}});ami['on'](_0x4303('0x3d'),function(_0x4e7039){try{utils[_0x4303('0x16')](util[_0x4303('0x17')](_0x4303('0x3e'),_0x4e7039[_0x4303('0x1b')]),_0x4e7039);dials[_0x4303('0x3d')](_0x4e7039);}catch(_0x31c705){utils[_0x4303('0x12')](util[_0x4303('0x17')](_0x4303('0x3e'),_0x4e7039[_0x4303('0x1b')]),_0x31c705);}});}