Built motion from commit a61a4a20.|2.5.46
[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 _0xa56f=['debug','format','[%s][index][devicestatechange]','device','[%s][index][agentcalled]','uniqueid','agentcalled','agentringnoanswer','[%s][index][agentringnoanswer]','agentconnect','[%s][index][agentconnect]','[%s][index][agentcomplete]','agentcomplete','[%s][index][queuecallerabandon]','queuecallerabandon','queuecallerjoin','[%s][index][queuecallerjoin]','queuecallerleave','[%s][index][queuecallerleave]','[%s][index][musiconholdstart]','musiconholdstart','musiconholdstop','newstate','[%s][index][newstate]','hangup','[%s][index][hangup]','cdr','[%s][index][cdr]','blindtransfer','attendedtransfer','[%s][index][attendedtransfer]','origtransfereruniqueid','varset','[%s][index][varset]','[%s][index][newexten]','newexten','[%s][index][newchannel]','newchannel','[%s][index][dialbegin]','dialbegin','dialend','asterisk-manager','../../config/environment','util','xdr','disabled','env','production','local','asterisk','port','username','password','keepConnected','info','XDR\x20DISABLED','Asterisk\x20disabled\x20on\x20localhost','./agents.controller','./dials.controller','./transfers.controller','./core.controller','connect','shutdown','fullybooted','error','managerevent','devicestatechange'];(function(_0x5b0a7e,_0x2d0082){var _0x2237ba=function(_0x4d5a30){while(--_0x4d5a30){_0x5b0a7e['push'](_0x5b0a7e['shift']());}};_0x2237ba(++_0x2d0082);}(_0xa56f,0xf2));var _0xfa56=function(_0x390d49,_0x1af9dd){_0x390d49=_0x390d49-0x0;var _0x533cea=_0xa56f[_0x390d49];return _0x533cea;};var AsteriskManager=require(_0xfa56('0x0'));var config=require(_0xfa56('0x1'));var utils=require('./utils');var util=require(_0xfa56('0x2'));var isXDREnabled=config[_0xfa56('0x3')]&&config[_0xfa56('0x3')][_0xfa56('0x4')]?!config[_0xfa56('0x3')][_0xfa56('0x4')]:!![];var isProduction=config[_0xfa56('0x5')]===_0xfa56('0x6')||![];var isLocalAsterisk=config['xdr']&&config[_0xfa56('0x3')][_0xfa56('0x7')]===!![]||![];var ami=new AsteriskManager(config[_0xfa56('0x8')][_0xfa56('0x9')],config['asterisk']['ip'],config['asterisk'][_0xfa56('0xa')],config[_0xfa56('0x8')][_0xfa56('0xb')],!![]);ami[_0xfa56('0xc')]();if(!isXDREnabled){utils[_0xfa56('0xd')](_0xfa56('0xe'));}else if(!isProduction&&!isLocalAsterisk){utils['info'](_0xfa56('0xf'));}else{var agents=require(_0xfa56('0x10'));var calls=require('./calls.controller');var queues=require('./queues.controller');var recordings=require('./recordings.controller');var members=require('./members.controller');var dials=require(_0xfa56('0x11'));var transfers=require(_0xfa56('0x12'));var core=require(_0xfa56('0x13'));ami['on'](_0xfa56('0x14'),core['connect']);ami['on'](_0xfa56('0x15'),core[_0xfa56('0x15')]);ami['on'](_0xfa56('0x16'),core['fullybooted']);ami['on'](_0xfa56('0x17'),core[_0xfa56('0x17')]);ami['on']('close',core['close']);ami['on'](_0xfa56('0x18'),core[_0xfa56('0x18')]);ami['on'](_0xfa56('0x19'),function(_0x3bc6b5){try{utils[_0xfa56('0x1a')](util[_0xfa56('0x1b')](_0xfa56('0x1c'),_0x3bc6b5[_0xfa56('0x1d')]),_0x3bc6b5);members[_0xfa56('0x19')](_0x3bc6b5);}catch(_0x68a7bb){utils['error'](util[_0xfa56('0x1b')](_0xfa56('0x1c'),_0x3bc6b5[_0xfa56('0x1d')]),_0x68a7bb);}});ami['on']('agentcalled',function(_0x32574a){try{utils[_0xfa56('0x1a')](util[_0xfa56('0x1b')](_0xfa56('0x1e'),_0x32574a[_0xfa56('0x1f')]),_0x32574a);agents[_0xfa56('0x20')](_0x32574a);}catch(_0x58312a){utils[_0xfa56('0x17')](util[_0xfa56('0x1b')]('[%s][index][agentcalled]',_0x32574a['uniqueid']),_0x58312a);}});ami['on'](_0xfa56('0x21'),function(_0x160def){try{utils['debug'](util[_0xfa56('0x1b')](_0xfa56('0x22'),_0x160def[_0xfa56('0x1f')]),_0x160def);agents[_0xfa56('0x21')](_0x160def);}catch(_0x3d604b){utils[_0xfa56('0x17')](util['format']('[%s][index][agentringnoanswer]',_0x160def['uniqueid']),_0x3d604b);}});ami['on'](_0xfa56('0x23'),function(_0x287ec2){try{utils[_0xfa56('0x1a')](util[_0xfa56('0x1b')](_0xfa56('0x24'),_0x287ec2['uniqueid']),_0x287ec2);agents[_0xfa56('0x23')](_0x287ec2);queues[_0xfa56('0x23')](_0x287ec2);}catch(_0x2986a2){utils[_0xfa56('0x17')](util['format'](_0xfa56('0x24'),_0x287ec2[_0xfa56('0x1f')]),_0x2986a2);}});ami['on']('agentcomplete',function(_0x346b8c){try{utils[_0xfa56('0x1a')](util['format'](_0xfa56('0x25'),_0x346b8c[_0xfa56('0x1f')]),_0x346b8c);agents['agentcomplete'](_0x346b8c);queues[_0xfa56('0x26')](_0x346b8c);members[_0xfa56('0x26')](_0x346b8c);}catch(_0x8b8377){utils['error'](util[_0xfa56('0x1b')](_0xfa56('0x25'),_0x346b8c[_0xfa56('0x1f')]),_0x8b8377);}});ami['on']('queuecallerabandon',function(_0x307251){try{utils[_0xfa56('0x1a')](util[_0xfa56('0x1b')](_0xfa56('0x27'),_0x307251[_0xfa56('0x1f')]),_0x307251);agents[_0xfa56('0x28')](_0x307251);queues[_0xfa56('0x28')](_0x307251);}catch(_0x248c6e){utils['error'](util[_0xfa56('0x1b')](_0xfa56('0x27'),_0x307251[_0xfa56('0x1f')]),_0x248c6e);}});ami['on']('queuecallerjoin',function(_0x3f681c){try{utils[_0xfa56('0x1a')](util[_0xfa56('0x1b')]('[%s][index][queuecallerjoin]',_0x3f681c[_0xfa56('0x1f')]),_0x3f681c);queues[_0xfa56('0x29')](_0x3f681c);recordings[_0xfa56('0x29')](_0x3f681c);}catch(_0x15adcc){utils[_0xfa56('0x17')](util['format'](_0xfa56('0x2a'),_0x3f681c[_0xfa56('0x1f')]),_0x15adcc);}});ami['on'](_0xfa56('0x2b'),function(_0x522408){try{utils[_0xfa56('0x1a')](util[_0xfa56('0x1b')](_0xfa56('0x2c'),_0x522408['uniqueid']),_0x522408);queues[_0xfa56('0x2b')](_0x522408);}catch(_0x5e9659){utils['error'](util[_0xfa56('0x1b')](_0xfa56('0x2c'),_0x522408[_0xfa56('0x1f')]),_0x5e9659);}});ami['on']('musiconholdstart',function(_0x2f30e6){try{utils['debug'](util['format'](_0xfa56('0x2d'),_0x2f30e6['uniqueid']),_0x2f30e6);queues[_0xfa56('0x2e')](_0x2f30e6);calls['musiconholdstart'](_0x2f30e6);}catch(_0x11258b){utils['error'](util[_0xfa56('0x1b')](_0xfa56('0x2d'),_0x2f30e6['uniqueid']),_0x11258b);}});ami['on'](_0xfa56('0x2f'),function(_0x455e90){try{utils[_0xfa56('0x1a')](util[_0xfa56('0x1b')]('[%s][index][musiconholdstop]',_0x455e90['uniqueid']),_0x455e90);queues['musiconholdstop'](_0x455e90);calls[_0xfa56('0x2f')](_0x455e90);}catch(_0x383994){utils[_0xfa56('0x17')](util[_0xfa56('0x1b')]('[%s][index][musiconholdstop]',_0x455e90[_0xfa56('0x1f')]),_0x383994);}});ami['on'](_0xfa56('0x30'),function(_0x5163a2){try{utils[_0xfa56('0x1a')](util[_0xfa56('0x1b')](_0xfa56('0x31'),_0x5163a2[_0xfa56('0x1f')]),_0x5163a2);calls[_0xfa56('0x30')](_0x5163a2);recordings[_0xfa56('0x30')](_0x5163a2);}catch(_0x44a82a){utils[_0xfa56('0x17')](util[_0xfa56('0x1b')](_0xfa56('0x31'),_0x5163a2['uniqueid']),_0x44a82a);}});ami['on'](_0xfa56('0x32'),function(_0x4db810){try{utils[_0xfa56('0x1a')](util[_0xfa56('0x1b')](_0xfa56('0x33'),_0x4db810[_0xfa56('0x1f')]),_0x4db810);calls[_0xfa56('0x32')](_0x4db810);recordings[_0xfa56('0x32')](_0x4db810);dials[_0xfa56('0x32')](_0x4db810);agents[_0xfa56('0x32')](_0x4db810);queues['hangup'](_0x4db810);}catch(_0x2764e7){utils[_0xfa56('0x17')](util['format']('[%s][index][hangup]',_0x4db810[_0xfa56('0x1f')]),_0x2764e7);}});ami['on'](_0xfa56('0x34'),function(_0x306703){try{utils[_0xfa56('0x1a')](util[_0xfa56('0x1b')](_0xfa56('0x35'),_0x306703['uniqueid']),_0x306703);members[_0xfa56('0x34')](_0x306703);}catch(_0x5c9bf5){utils['error'](util[_0xfa56('0x1b')](_0xfa56('0x35'),_0x306703['uniqueid']),_0x5c9bf5);}});ami['on'](_0xfa56('0x36'),function(_0x96df2a){try{utils[_0xfa56('0x1a')](util[_0xfa56('0x1b')]('[%s][index][blindtransfer]',_0x96df2a['uniqueid']),_0x96df2a);queues[_0xfa56('0x36')](_0x96df2a);agents[_0xfa56('0x36')](_0x96df2a);transfers[_0xfa56('0x36')](_0x96df2a);recordings[_0xfa56('0x36')](_0x96df2a);}catch(_0x2b343){utils[_0xfa56('0x17')](util[_0xfa56('0x1b')]('[%s][index][blindtransfer]',_0x96df2a['uniqueid']),_0x2b343);}});ami['on'](_0xfa56('0x37'),function(_0x4b3c41){try{utils[_0xfa56('0x1a')](util['format'](_0xfa56('0x38'),_0x4b3c41[_0xfa56('0x39')]),_0x4b3c41);queues[_0xfa56('0x37')](_0x4b3c41);transfers[_0xfa56('0x37')](_0x4b3c41);agents[_0xfa56('0x37')](_0x4b3c41);calls[_0xfa56('0x37')](_0x4b3c41);}catch(_0x2b8794){utils['error'](util[_0xfa56('0x1b')](_0xfa56('0x38'),_0x4b3c41[_0xfa56('0x39')]),_0x2b8794);}});ami['on'](_0xfa56('0x3a'),function(_0x2080d7){try{utils['debug'](util['format']('[%s][index][varset]',_0x2080d7['uniqueid']),_0x2080d7);queues['varset'](_0x2080d7);recordings[_0xfa56('0x3a')](_0x2080d7);calls['varset'](_0x2080d7);dials['varset'](_0x2080d7);}catch(_0x508791){utils[_0xfa56('0x17')](util[_0xfa56('0x1b')](_0xfa56('0x3b'),_0x2080d7[_0xfa56('0x1f')]),_0x508791);}});ami['on']('newexten',function(_0x3225cd){try{utils[_0xfa56('0x1a')](util['format'](_0xfa56('0x3c'),_0x3225cd[_0xfa56('0x1f')]),_0x3225cd);calls['newexten'](_0x3225cd);recordings[_0xfa56('0x3d')](_0x3225cd);dials[_0xfa56('0x3d')](_0x3225cd);}catch(_0x41be70){utils['error'](util[_0xfa56('0x1b')](_0xfa56('0x3c'),_0x3225cd[_0xfa56('0x1f')]),_0x41be70);}});ami['on']('newchannel',function(_0x42c300){try{utils[_0xfa56('0x1a')](util[_0xfa56('0x1b')](_0xfa56('0x3e'),_0x42c300[_0xfa56('0x1f')]),_0x42c300);calls['newchannel'](_0x42c300);recordings[_0xfa56('0x3f')](_0x42c300);}catch(_0x6ff94d){utils['error'](util[_0xfa56('0x1b')](_0xfa56('0x3e'),_0x42c300[_0xfa56('0x1f')]),_0x6ff94d);}});ami['on']('dialbegin',function(_0x39e2a3){try{utils[_0xfa56('0x1a')](util[_0xfa56('0x1b')](_0xfa56('0x40'),_0x39e2a3[_0xfa56('0x1f')]),_0x39e2a3);dials[_0xfa56('0x41')](_0x39e2a3);}catch(_0x554d0b){utils[_0xfa56('0x17')](util[_0xfa56('0x1b')]('[%s]dialbegin',_0x39e2a3[_0xfa56('0x1f')]),_0x554d0b);}});ami['on'](_0xfa56('0x42'),function(_0x3d0f90){try{utils['debug'](util['format']('[%s][index][dialend]',_0x3d0f90[_0xfa56('0x1f')]),_0x3d0f90);dials[_0xfa56('0x42')](_0x3d0f90);}catch(_0x433dde){utils[_0xfa56('0x17')](util[_0xfa56('0x1b')]('[%s][index][dialend]',_0x3d0f90[_0xfa56('0x1f')]),_0x433dde);}});}