Built motion from commit e6806ed6.|2.6.0
[motion2.git] / server / services / xdr / recordings.controller.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 _0x5eb0=['monitors','hangup','[%s][recordings][hangup]','[%s][recordings][hangup]\x20calleridnum:%s\x20calleridname:%s\x20reason:%s','calleridname','cause-txt','calleridnum','connectedlinenum','connectedlinename','type','forEach','clone','newexten','[%s][recordings][newexten]\x20application:%s\x20appdata:%s','application','appdata','toLowerCase','set','startsWith','cdr','split','substring','lastIndexOf','[%s][recordings][newexten]','queuecallerjoin','queue','[%s][recordings][blindtransfer]','[%s][recordings][blindtransfer]\x20transferercalleridnum:%s\x20transferercalleridname:%s\x20transfereecalleridnum:%s\x20transfereecalleridname:%s','transferercalleridnum','transferercalleridname','transfereecalleridnum','transfereecalleridname','transfereruniqueid','recording','lodash','util','./utils','./transfers.controller','info','format','[%s][recordings][writeDB]','uniqueid','blinds','transfereeuniqueid','accountcode','getUserByInternal','membername','name','request','CreateVoiceRecording','newchannel','debug','linkedid','[%s][recordings][newchannel]\x20context:%s\x20exten:%s','context','exten','channel','error','[%s][recordings][newchannel]','newstate','[%s][recordings][newstate]','isNil','[%s][recordings][newstate]\x20context:%s\x20channel:%s','transfer','variable','mixmonitor_filename','[%s][recordings][varset]','[%s][recordings][varset]\x20variable:%s\x20value:%s','value','.wav49','replace','find'];(function(_0x58448b,_0x509503){var _0x559c46=function(_0x5b592a){while(--_0x5b592a){_0x58448b['push'](_0x58448b['shift']());}};_0x559c46(++_0x509503);}(_0x5eb0,0xfa));var _0x05eb=function(_0x5d3d95,_0x4493d1){_0x5d3d95=_0x5d3d95-0x0;var _0x90be44=_0x5eb0[_0x5d3d95];return _0x90be44;};'use strict';var _=require(_0x05eb('0x0'));var util=require(_0x05eb('0x1'));var utils=require(_0x05eb('0x2'));var transfers=require(_0x05eb('0x3'));var recordings={};function writeDB(_0x30b784){var _0x58d8ce;utils[_0x05eb('0x4')](util[_0x05eb('0x5')](_0x05eb('0x6'),_0x30b784[_0x05eb('0x7')]));if(transfers[_0x05eb('0x8')][_0x30b784[_0x05eb('0x7')]]){_0x58d8ce=_0x30b784[_0x05eb('0x7')];_0x30b784[_0x05eb('0x7')]=transfers[_0x05eb('0x8')][_0x30b784[_0x05eb('0x7')]][_0x05eb('0x9')];}if(_0x30b784[_0x05eb('0xa')]){utils[_0x05eb('0xb')](_0x30b784[_0x05eb('0xa')])['then'](function(_0x2cbcc2){if(_0x2cbcc2){_0x30b784[_0x05eb('0xc')]=_0x2cbcc2[_0x05eb('0xd')];_0x30b784['UserId']=_0x2cbcc2['id'];}utils[_0x05eb('0xe')]('CreateVoiceRecording',_0x30b784);});}else{utils[_0x05eb('0xe')](_0x05eb('0xf'),_0x30b784);}if(_0x58d8ce)delete transfers['blinds'][_0x58d8ce];}exports[_0x05eb('0x10')]=function(_0xd04a4a){try{utils[_0x05eb('0x11')](util['format']('[%s][recordings][newchannel]',_0xd04a4a[_0x05eb('0x7')]),_0xd04a4a);if(_0xd04a4a['uniqueid']==_0xd04a4a[_0x05eb('0x12')]){utils[_0x05eb('0x4')](util[_0x05eb('0x5')](_0x05eb('0x13'),_0xd04a4a[_0x05eb('0x7')],_0xd04a4a[_0x05eb('0x14')],_0xd04a4a[_0x05eb('0x15')]));recordings[_0xd04a4a[_0x05eb('0x7')]]={'uniqueid':_0xd04a4a[_0x05eb('0x7')],'accountcode':_0xd04a4a[_0x05eb('0xa')],'exten':_0xd04a4a[_0x05eb('0x15')],'context':_0xd04a4a[_0x05eb('0x14')],'channel':_0xd04a4a[_0x05eb('0x16')],'monitors':[]};}}catch(_0x16ec3c){utils[_0x05eb('0x17')](util['format'](_0x05eb('0x18'),_0xd04a4a[_0x05eb('0x7')]),_0x16ec3c);}};exports[_0x05eb('0x19')]=function(_0x1545a5){try{utils['debug'](util['format'](_0x05eb('0x1a'),_0x1545a5[_0x05eb('0x7')]),_0x1545a5);if(!_[_0x05eb('0x1b')](recordings[_0x1545a5['uniqueid']])&&_0x1545a5['channelstate']==0x6){utils[_0x05eb('0x4')](util[_0x05eb('0x5')](_0x05eb('0x1c'),_0x1545a5[_0x05eb('0x7')],_0x1545a5[_0x05eb('0x14')],_0x1545a5['channel']));}else if(!_['isNil'](recordings[_0x1545a5[_0x05eb('0x12')]])&&_0x1545a5['channelstate']==0x6&&_0x1545a5[_0x05eb('0x14')]!=_0x05eb('0x1d')){utils['info'](util['format']('[%s][recordings][newstate]\x20linkedid:%s\x20context:%s\x20channel:%s',_0x1545a5[_0x05eb('0x7')],_0x1545a5['linkedid'],_0x1545a5['context'],_0x1545a5[_0x05eb('0x16')]));recordings[_0x1545a5['linkedid']][_0x05eb('0xa')]=_0x1545a5[_0x05eb('0xa')];}}catch(_0x41b8f1){utils[_0x05eb('0x17')](util[_0x05eb('0x5')]('[%s][recordings][newstate]',_0x1545a5[_0x05eb('0x7')]),_0x41b8f1);}};exports['varset']=function(_0x25bcee){try{if(!_[_0x05eb('0x1b')](_0x25bcee[_0x05eb('0x1e')])&&!_[_0x05eb('0x1b')](_0x25bcee['variable'][_0x05eb('0x1f')])){utils[_0x05eb('0x11')](util['format'](_0x05eb('0x20'),_0x25bcee['uniqueid']),_0x25bcee);utils[_0x05eb('0x4')](util['format'](_0x05eb('0x21'),_0x25bcee[_0x05eb('0x7')],_0x25bcee[_0x05eb('0x1e')],_0x25bcee[_0x05eb('0x22')]));if(_['endsWith'](_0x25bcee['value'],_0x05eb('0x23'))){_0x25bcee['value']=_0x25bcee[_0x05eb('0x22')][_0x05eb('0x24')](_0x05eb('0x23'),'.WAV');}if(recordings[_0x25bcee[_0x05eb('0x12')]]){var _0x3c939f=_[_0x05eb('0x25')](recordings[_0x25bcee['linkedid']][_0x05eb('0x26')],{'value':_0x25bcee['value']});if(_[_0x05eb('0x1b')](_0x3c939f)){recordings[_0x25bcee[_0x05eb('0x12')]]['monitors']['push']({'value':_0x25bcee[_0x05eb('0x22')]});}}}}catch(_0x51650c){utils['error'](util['format'](_0x05eb('0x20'),_0x25bcee[_0x05eb('0x7')]),_0x51650c);}};exports[_0x05eb('0x27')]=function(_0x804afb){try{if(!_[_0x05eb('0x1b')](recordings[_0x804afb[_0x05eb('0x7')]])){utils[_0x05eb('0x11')](util[_0x05eb('0x5')](_0x05eb('0x28'),_0x804afb[_0x05eb('0x7')]),_0x804afb);utils[_0x05eb('0x4')](util[_0x05eb('0x5')](_0x05eb('0x29'),_0x804afb[_0x05eb('0x7')],_0x804afb['calleridnum'],_0x804afb[_0x05eb('0x2a')],_0x804afb[_0x05eb('0x2b')]));recordings[_0x804afb[_0x05eb('0x7')]][_0x05eb('0x2c')]=_0x804afb[_0x05eb('0x2c')];recordings[_0x804afb[_0x05eb('0x7')]][_0x05eb('0x2a')]=_0x804afb[_0x05eb('0x2a')];recordings[_0x804afb[_0x05eb('0x7')]][_0x05eb('0x2d')]=_0x804afb[_0x05eb('0x2d')];recordings[_0x804afb[_0x05eb('0x7')]][_0x05eb('0x2e')]=_0x804afb[_0x05eb('0x2e')];if(recordings[_0x804afb[_0x05eb('0x7')]][_0x05eb('0x2f')]=='outbound'&&recordings[_0x804afb['uniqueid']][_0x05eb('0xa')]){recordings[_0x804afb[_0x05eb('0x7')]][_0x05eb('0x2d')]=recordings[_0x804afb['uniqueid']]['accountcode'];recordings[_0x804afb[_0x05eb('0x7')]][_0x05eb('0x2e')]='';}recordings[_0x804afb[_0x05eb('0x7')]][_0x05eb('0x26')][_0x05eb('0x30')](function(_0x5c0b3c){var _0x28157f=_[_0x05eb('0x31')](recordings[_0x804afb[_0x05eb('0x7')]]);_0x28157f[_0x05eb('0x22')]=_0x5c0b3c[_0x05eb('0x22')];writeDB(_0x28157f);});delete recordings[_0x804afb[_0x05eb('0x7')]];}}catch(_0x554479){utils[_0x05eb('0x17')](util[_0x05eb('0x5')](_0x05eb('0x28'),_0x804afb[_0x05eb('0x7')]),_0x554479);}};exports[_0x05eb('0x32')]=function(_0x3c64e3){try{if(!_[_0x05eb('0x1b')](recordings[_0x3c64e3[_0x05eb('0x7')]])){utils[_0x05eb('0x11')](util['format']('[%s][recordings][newexten]',_0x3c64e3[_0x05eb('0x7')]),_0x3c64e3);utils[_0x05eb('0x4')](util[_0x05eb('0x5')](_0x05eb('0x33'),_0x3c64e3['uniqueid'],_0x3c64e3[_0x05eb('0x34')],_0x3c64e3[_0x05eb('0x35')]));if(_0x3c64e3['application'][_0x05eb('0x36')]()==_0x05eb('0x37')&&_[_0x05eb('0x38')](_0x3c64e3['appdata'][_0x05eb('0x36')](),_0x05eb('0x39'))){var _0x7df912=_0x3c64e3[_0x05eb('0x35')][_0x05eb('0x3a')]('=');var _0x657faa=_0x7df912[0x0][_0x05eb('0x3b')](_0x7df912[0x0]['lastIndexOf']('(')+0x1,_0x7df912[0x0][_0x05eb('0x3c')](')'));var _0x4ad8a6=_0x7df912[0x1];recordings[_0x3c64e3[_0x05eb('0x7')]][_0x657faa]=_0x4ad8a6;}}}catch(_0x4c8cd9){utils['error'](util[_0x05eb('0x5')](_0x05eb('0x3d'),_0x3c64e3[_0x05eb('0x7')]),_0x4c8cd9);}};exports[_0x05eb('0x3e')]=function(_0x27ba8a){try{if(!_[_0x05eb('0x1b')](recordings[_0x27ba8a[_0x05eb('0x7')]])){utils['debug'](util['format']('[%s][recordings][queuecallerjoin]',_0x27ba8a['uniqueid']),_0x27ba8a);utils[_0x05eb('0x4')](util['format']('[%s][recordings][queuecallerjoin]\x20queue:%s',_0x27ba8a[_0x05eb('0x7')],_0x27ba8a[_0x05eb('0x3f')]));recordings[_0x27ba8a[_0x05eb('0x7')]][_0x05eb('0x3f')]=_0x27ba8a['queue'];}}catch(_0x5dd163){utils[_0x05eb('0x17')](util['format']('[%s][recordings][queuecallerjoin]',_0x27ba8a[_0x05eb('0x7')]),_0x5dd163);}};exports['blindtransfer']=function(_0x9145e4){try{utils[_0x05eb('0x11')](util['format'](_0x05eb('0x40'),_0x9145e4[_0x05eb('0x7')]),_0x9145e4);utils[_0x05eb('0x4')](util[_0x05eb('0x5')](_0x05eb('0x41'),_0x9145e4[_0x05eb('0x7')],_0x9145e4[_0x05eb('0x42')],_0x9145e4[_0x05eb('0x43')],_0x9145e4[_0x05eb('0x44')],_0x9145e4[_0x05eb('0x45')]));if(recordings[_0x9145e4[_0x05eb('0x46')]]&&transfers[_0x05eb('0x8')][_0x9145e4[_0x05eb('0x46')]]){transfers[_0x05eb('0x8')][_0x9145e4[_0x05eb('0x46')]][_0x05eb('0x47')]=!![];}}catch(_0x3ab45d){utils['error'](util['format'](_0x05eb('0x40'),_0x9145e4[_0x05eb('0x7')]),_0x3ab45d);}};