Built motion from commit 1fa89557.|2.6.10
[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 _0x0259=['[%s][index][queuecallerabandon]','queuecallerjoin','[%s][index][queuecallerjoin]','queuecallerleave','[%s][index][queuecallerleave]','musiconholdstart','[%s][index][musiconholdstart]','musiconholdstop','newstate','[%s][index][newstate]','[%s][index][hangup]','hangup','cdr','[%s][index][cdr]','blindtransfer','[%s][index][blindtransfer]','attendedtransfer','[%s][index][attendedtransfer]','[%s][index][varset]','varset','newexten','[%s][index][newexten]','newchannel','[%s][index][newchannel]','dialbegin','[%s][index][dialbegin]','dialend','[%s][index][dialend]','asterisk-manager','./utils','util','xdr','disabled','env','production','asterisk','port','username','info','XDR\x20DISABLED','./agents.controller','./calls.controller','./queues.controller','./recordings.controller','./members.controller','./dials.controller','./core.controller','connect','shutdown','fullybooted','error','close','managerevent','devicestatechange','debug','format','[%s][index][devicestatechange]','device','agentcalled','uniqueid','agentringnoanswer','[%s][index][agentringnoanswer]','agentconnect','[%s][index][agentconnect]','agentcomplete','[%s][index][agentcomplete]','queuecallerabandon'];(function(_0x326bb3,_0x1a509b){var _0x1118dc=function(_0xf7b741){while(--_0xf7b741){_0x326bb3['push'](_0x326bb3['shift']());}};_0x1118dc(++_0x1a509b);}(_0x0259,0x1ae));var _0x9025=function(_0x3b679a,_0x52c67){_0x3b679a=_0x3b679a-0x0;var _0x2bb4ca=_0x0259[_0x3b679a];return _0x2bb4ca;};var AsteriskManager=require(_0x9025('0x0'));var config=require('../../config/environment');var utils=require(_0x9025('0x1'));var util=require(_0x9025('0x2'));var isXDREnabled=config[_0x9025('0x3')]&&config[_0x9025('0x3')][_0x9025('0x4')]?!config[_0x9025('0x3')]['disabled']:!![];var isProduction=config[_0x9025('0x5')]===_0x9025('0x6')||![];var isLocalAsterisk=config['xdr']&&config[_0x9025('0x3')]['local']===!![]||![];var ami=new AsteriskManager(config[_0x9025('0x7')][_0x9025('0x8')],config['asterisk']['ip'],config[_0x9025('0x7')][_0x9025('0x9')],config[_0x9025('0x7')]['password'],!![]);ami['keepConnected']();if(!isXDREnabled){utils[_0x9025('0xa')](_0x9025('0xb'));}else if(!isProduction&&!isLocalAsterisk){utils[_0x9025('0xa')]('Asterisk\x20disabled\x20on\x20localhost');}else{var agents=require(_0x9025('0xc'));var calls=require(_0x9025('0xd'));var queues=require(_0x9025('0xe'));var recordings=require(_0x9025('0xf'));var members=require(_0x9025('0x10'));var dials=require(_0x9025('0x11'));var transfers=require('./transfers.controller');var core=require(_0x9025('0x12'));ami['on'](_0x9025('0x13'),core[_0x9025('0x13')]);ami['on'](_0x9025('0x14'),core[_0x9025('0x14')]);ami['on'](_0x9025('0x15'),core[_0x9025('0x15')]);ami['on'](_0x9025('0x16'),core[_0x9025('0x16')]);ami['on'](_0x9025('0x17'),core[_0x9025('0x17')]);ami['on'](_0x9025('0x18'),core[_0x9025('0x18')]);ami['on'](_0x9025('0x19'),function(_0x38edca){try{utils[_0x9025('0x1a')](util[_0x9025('0x1b')](_0x9025('0x1c'),_0x38edca[_0x9025('0x1d')]),_0x38edca);members[_0x9025('0x19')](_0x38edca);}catch(_0xea4969){utils[_0x9025('0x16')](util[_0x9025('0x1b')](_0x9025('0x1c'),_0x38edca[_0x9025('0x1d')]),_0xea4969);}});ami['on'](_0x9025('0x1e'),function(_0x3cf02c){try{utils['debug'](util[_0x9025('0x1b')]('[%s][index][agentcalled]',_0x3cf02c[_0x9025('0x1f')]),_0x3cf02c);agents[_0x9025('0x1e')](_0x3cf02c);}catch(_0x1835a2){utils[_0x9025('0x16')](util['format']('[%s][index][agentcalled]',_0x3cf02c[_0x9025('0x1f')]),_0x1835a2);}});ami['on'](_0x9025('0x20'),function(_0x4fc234){try{utils[_0x9025('0x1a')](util[_0x9025('0x1b')](_0x9025('0x21'),_0x4fc234[_0x9025('0x1f')]),_0x4fc234);agents[_0x9025('0x20')](_0x4fc234);}catch(_0x30f77b){utils[_0x9025('0x16')](util[_0x9025('0x1b')](_0x9025('0x21'),_0x4fc234[_0x9025('0x1f')]),_0x30f77b);}});ami['on'](_0x9025('0x22'),function(_0x5d0646){try{utils[_0x9025('0x1a')](util[_0x9025('0x1b')](_0x9025('0x23'),_0x5d0646['uniqueid']),_0x5d0646);agents['agentconnect'](_0x5d0646);queues['agentconnect'](_0x5d0646);}catch(_0x230544){utils[_0x9025('0x16')](util[_0x9025('0x1b')](_0x9025('0x23'),_0x5d0646[_0x9025('0x1f')]),_0x230544);}});ami['on'](_0x9025('0x24'),function(_0x3fc3d8){try{utils[_0x9025('0x1a')](util[_0x9025('0x1b')]('[%s][index][agentcomplete]',_0x3fc3d8[_0x9025('0x1f')]),_0x3fc3d8);agents['agentcomplete'](_0x3fc3d8);queues[_0x9025('0x24')](_0x3fc3d8);members[_0x9025('0x24')](_0x3fc3d8);}catch(_0x459c7b){utils[_0x9025('0x16')](util['format'](_0x9025('0x25'),_0x3fc3d8[_0x9025('0x1f')]),_0x459c7b);}});ami['on'](_0x9025('0x26'),function(_0x494a16){try{utils[_0x9025('0x1a')](util[_0x9025('0x1b')](_0x9025('0x27'),_0x494a16[_0x9025('0x1f')]),_0x494a16);agents[_0x9025('0x26')](_0x494a16);queues[_0x9025('0x26')](_0x494a16);}catch(_0x3b3f2b){utils[_0x9025('0x16')](util['format'](_0x9025('0x27'),_0x494a16[_0x9025('0x1f')]),_0x3b3f2b);}});ami['on'](_0x9025('0x28'),function(_0x373be2){try{utils[_0x9025('0x1a')](util['format'](_0x9025('0x29'),_0x373be2[_0x9025('0x1f')]),_0x373be2);queues[_0x9025('0x28')](_0x373be2);recordings[_0x9025('0x28')](_0x373be2);}catch(_0x5d3909){utils[_0x9025('0x16')](util['format'](_0x9025('0x29'),_0x373be2[_0x9025('0x1f')]),_0x5d3909);}});ami['on'](_0x9025('0x2a'),function(_0x4b0233){try{utils['debug'](util[_0x9025('0x1b')](_0x9025('0x2b'),_0x4b0233[_0x9025('0x1f')]),_0x4b0233);queues[_0x9025('0x2a')](_0x4b0233);}catch(_0x3e55c2){utils[_0x9025('0x16')](util[_0x9025('0x1b')](_0x9025('0x2b'),_0x4b0233[_0x9025('0x1f')]),_0x3e55c2);}});ami['on'](_0x9025('0x2c'),function(_0x1290cc){try{utils['debug'](util[_0x9025('0x1b')]('[%s][index][musiconholdstart]',_0x1290cc[_0x9025('0x1f')]),_0x1290cc);queues['musiconholdstart'](_0x1290cc);calls['musiconholdstart'](_0x1290cc);}catch(_0x4749e8){utils[_0x9025('0x16')](util[_0x9025('0x1b')](_0x9025('0x2d'),_0x1290cc[_0x9025('0x1f')]),_0x4749e8);}});ami['on'](_0x9025('0x2e'),function(_0x3cfea5){try{utils[_0x9025('0x1a')](util['format']('[%s][index][musiconholdstop]',_0x3cfea5[_0x9025('0x1f')]),_0x3cfea5);queues[_0x9025('0x2e')](_0x3cfea5);calls['musiconholdstop'](_0x3cfea5);}catch(_0x46a1b0){utils[_0x9025('0x16')](util[_0x9025('0x1b')]('[%s][index][musiconholdstop]',_0x3cfea5[_0x9025('0x1f')]),_0x46a1b0);}});ami['on'](_0x9025('0x2f'),function(_0x3320a1){try{utils['debug'](util['format'](_0x9025('0x30'),_0x3320a1['uniqueid']),_0x3320a1);calls[_0x9025('0x2f')](_0x3320a1);recordings[_0x9025('0x2f')](_0x3320a1);}catch(_0x99f98f){utils['error'](util[_0x9025('0x1b')](_0x9025('0x30'),_0x3320a1[_0x9025('0x1f')]),_0x99f98f);}});ami['on']('hangup',function(_0x1a859b){try{utils[_0x9025('0x1a')](util[_0x9025('0x1b')](_0x9025('0x31'),_0x1a859b[_0x9025('0x1f')]),_0x1a859b);calls[_0x9025('0x32')](_0x1a859b);recordings[_0x9025('0x32')](_0x1a859b);dials[_0x9025('0x32')](_0x1a859b);agents[_0x9025('0x32')](_0x1a859b);queues[_0x9025('0x32')](_0x1a859b);}catch(_0x4e9a04){utils[_0x9025('0x16')](util['format'](_0x9025('0x31'),_0x1a859b['uniqueid']),_0x4e9a04);}});ami['on'](_0x9025('0x33'),function(_0x54b6a4){try{utils[_0x9025('0x1a')](util['format']('[%s][index][cdr]',_0x54b6a4[_0x9025('0x1f')]),_0x54b6a4);members[_0x9025('0x33')](_0x54b6a4);}catch(_0x4890f0){utils['error'](util[_0x9025('0x1b')](_0x9025('0x34'),_0x54b6a4[_0x9025('0x1f')]),_0x4890f0);}});ami['on'](_0x9025('0x35'),function(_0x2cb57e){try{utils[_0x9025('0x1a')](util['format'](_0x9025('0x36'),_0x2cb57e[_0x9025('0x1f')]),_0x2cb57e);queues[_0x9025('0x35')](_0x2cb57e);agents[_0x9025('0x35')](_0x2cb57e);transfers[_0x9025('0x35')](_0x2cb57e);recordings['blindtransfer'](_0x2cb57e);}catch(_0x32c83c){utils[_0x9025('0x16')](util[_0x9025('0x1b')](_0x9025('0x36'),_0x2cb57e[_0x9025('0x1f')]),_0x32c83c);}});ami['on'](_0x9025('0x37'),function(_0x5b003b){try{utils[_0x9025('0x1a')](util[_0x9025('0x1b')](_0x9025('0x38'),_0x5b003b['origtransfereruniqueid']),_0x5b003b);queues[_0x9025('0x37')](_0x5b003b);transfers[_0x9025('0x37')](_0x5b003b);agents['attendedtransfer'](_0x5b003b);calls[_0x9025('0x37')](_0x5b003b);}catch(_0x437a52){utils[_0x9025('0x16')](util[_0x9025('0x1b')](_0x9025('0x38'),_0x5b003b['origtransfereruniqueid']),_0x437a52);}});ami['on']('varset',function(_0x1a3a91){try{utils[_0x9025('0x1a')](util[_0x9025('0x1b')](_0x9025('0x39'),_0x1a3a91[_0x9025('0x1f')]),_0x1a3a91);queues[_0x9025('0x3a')](_0x1a3a91);recordings[_0x9025('0x3a')](_0x1a3a91);calls[_0x9025('0x3a')](_0x1a3a91);dials[_0x9025('0x3a')](_0x1a3a91);}catch(_0x2b261a){utils[_0x9025('0x16')](util['format']('[%s][index][varset]',_0x1a3a91[_0x9025('0x1f')]),_0x2b261a);}});ami['on']('newexten',function(_0x5ba97b){try{utils[_0x9025('0x1a')](util[_0x9025('0x1b')]('[%s][index][newexten]',_0x5ba97b[_0x9025('0x1f')]),_0x5ba97b);calls[_0x9025('0x3b')](_0x5ba97b);recordings['newexten'](_0x5ba97b);dials[_0x9025('0x3b')](_0x5ba97b);}catch(_0x3be308){utils['error'](util[_0x9025('0x1b')](_0x9025('0x3c'),_0x5ba97b[_0x9025('0x1f')]),_0x3be308);}});ami['on'](_0x9025('0x3d'),function(_0x18082b){try{utils[_0x9025('0x1a')](util[_0x9025('0x1b')](_0x9025('0x3e'),_0x18082b[_0x9025('0x1f')]),_0x18082b);calls['newchannel'](_0x18082b);recordings[_0x9025('0x3d')](_0x18082b);}catch(_0xb569ec){utils['error'](util[_0x9025('0x1b')](_0x9025('0x3e'),_0x18082b['uniqueid']),_0xb569ec);}});ami['on'](_0x9025('0x3f'),function(_0x1e7e25){try{utils[_0x9025('0x1a')](util[_0x9025('0x1b')](_0x9025('0x40'),_0x1e7e25[_0x9025('0x1f')]),_0x1e7e25);dials[_0x9025('0x3f')](_0x1e7e25);}catch(_0x1d5502){utils[_0x9025('0x16')](util[_0x9025('0x1b')]('[%s]dialbegin',_0x1e7e25[_0x9025('0x1f')]),_0x1d5502);}});ami['on'](_0x9025('0x41'),function(_0x2ab8df){try{utils[_0x9025('0x1a')](util[_0x9025('0x1b')]('[%s][index][dialend]',_0x2ab8df['uniqueid']),_0x2ab8df);dials['dialend'](_0x2ab8df);}catch(_0x66716e){utils['error'](util['format'](_0x9025('0x42'),_0x2ab8df[_0x9025('0x1f')]),_0x66716e);}});}