Built motion from commit 47436d59.|2.6.7
[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 _0x9aec=['error','[%s][recordings][newchannel]','isNil','[%s][recordings][newstate]\x20context:%s\x20channel:%s','transfer','[%s][recordings][newstate]\x20linkedid:%s\x20context:%s\x20channel:%s','varset','variable','[%s][recordings][varset]','[%s][recordings][varset]\x20variable:%s\x20value:%s','value','endsWith','.wav49','replace','find','monitors','push','hangup','debug','[%s][recordings][hangup]','calleridnum','calleridname','cause-txt','connectedlinenum','connectedlinename','type','outbound','forEach','clone','newexten','[%s][recordings][newexten]\x20application:%s\x20appdata:%s','application','set','appdata','split','substring','lastIndexOf','[%s][recordings][newexten]','queuecallerjoin','[%s][recordings][queuecallerjoin]','[%s][recordings][queuecallerjoin]\x20queue:%s','queue','blindtransfer','[%s][recordings][blindtransfer]\x20transferercalleridnum:%s\x20transferercalleridname:%s\x20transfereecalleridnum:%s\x20transfereecalleridname:%s','transferercalleridnum','transferercalleridname','transfereecalleridname','transfereruniqueid','lodash','util','./utils','./transfers.controller','info','format','[%s][recordings][writeDB]','uniqueid','blinds','transfereeuniqueid','accountcode','getUserByInternal','then','name','CreateVoiceRecording','request','newchannel','linkedid','[%s][recordings][newchannel]\x20context:%s\x20exten:%s','context','exten','channel'];(function(_0x47a7d0,_0x4e182d){var _0xb9bd08=function(_0x588ee2){while(--_0x588ee2){_0x47a7d0['push'](_0x47a7d0['shift']());}};_0xb9bd08(++_0x4e182d);}(_0x9aec,0x102));var _0xc9ae=function(_0x5a0cd2,_0x4bf4a5){_0x5a0cd2=_0x5a0cd2-0x0;var _0x50138f=_0x9aec[_0x5a0cd2];return _0x50138f;};'use strict';var _=require(_0xc9ae('0x0'));var util=require(_0xc9ae('0x1'));var utils=require(_0xc9ae('0x2'));var transfers=require(_0xc9ae('0x3'));var recordings={};function writeDB(_0x287b3f){var _0xa1c63c;utils[_0xc9ae('0x4')](util[_0xc9ae('0x5')](_0xc9ae('0x6'),_0x287b3f[_0xc9ae('0x7')]));if(transfers[_0xc9ae('0x8')][_0x287b3f['uniqueid']]){_0xa1c63c=_0x287b3f[_0xc9ae('0x7')];_0x287b3f[_0xc9ae('0x7')]=transfers['blinds'][_0x287b3f[_0xc9ae('0x7')]][_0xc9ae('0x9')];}if(_0x287b3f[_0xc9ae('0xa')]){utils[_0xc9ae('0xb')](_0x287b3f[_0xc9ae('0xa')])[_0xc9ae('0xc')](function(_0x409d36){if(_0x409d36){_0x287b3f['membername']=_0x409d36[_0xc9ae('0xd')];_0x287b3f['UserId']=_0x409d36['id'];}utils['request'](_0xc9ae('0xe'),_0x287b3f);});}else{utils[_0xc9ae('0xf')](_0xc9ae('0xe'),_0x287b3f);}if(_0xa1c63c)delete transfers[_0xc9ae('0x8')][_0xa1c63c];}exports[_0xc9ae('0x10')]=function(_0x47bbef){try{utils['debug'](util[_0xc9ae('0x5')]('[%s][recordings][newchannel]',_0x47bbef[_0xc9ae('0x7')]),_0x47bbef);if(_0x47bbef[_0xc9ae('0x7')]==_0x47bbef[_0xc9ae('0x11')]){utils[_0xc9ae('0x4')](util[_0xc9ae('0x5')](_0xc9ae('0x12'),_0x47bbef[_0xc9ae('0x7')],_0x47bbef[_0xc9ae('0x13')],_0x47bbef[_0xc9ae('0x14')]));recordings[_0x47bbef[_0xc9ae('0x7')]]={'uniqueid':_0x47bbef[_0xc9ae('0x7')],'accountcode':_0x47bbef['accountcode'],'exten':_0x47bbef[_0xc9ae('0x14')],'context':_0x47bbef[_0xc9ae('0x13')],'channel':_0x47bbef[_0xc9ae('0x15')],'monitors':[]};}}catch(_0x112e4d){utils[_0xc9ae('0x16')](util[_0xc9ae('0x5')](_0xc9ae('0x17'),_0x47bbef[_0xc9ae('0x7')]),_0x112e4d);}};exports['newstate']=function(_0x4d1ff6){try{utils['debug'](util['format']('[%s][recordings][newstate]',_0x4d1ff6[_0xc9ae('0x7')]),_0x4d1ff6);if(!_[_0xc9ae('0x18')](recordings[_0x4d1ff6[_0xc9ae('0x7')]])&&_0x4d1ff6['channelstate']==0x6){utils[_0xc9ae('0x4')](util[_0xc9ae('0x5')](_0xc9ae('0x19'),_0x4d1ff6[_0xc9ae('0x7')],_0x4d1ff6[_0xc9ae('0x13')],_0x4d1ff6[_0xc9ae('0x15')]));}else if(!_['isNil'](recordings[_0x4d1ff6[_0xc9ae('0x11')]])&&_0x4d1ff6['channelstate']==0x6&&_0x4d1ff6[_0xc9ae('0x13')]!=_0xc9ae('0x1a')){utils[_0xc9ae('0x4')](util['format'](_0xc9ae('0x1b'),_0x4d1ff6[_0xc9ae('0x7')],_0x4d1ff6['linkedid'],_0x4d1ff6[_0xc9ae('0x13')],_0x4d1ff6[_0xc9ae('0x15')]));recordings[_0x4d1ff6[_0xc9ae('0x11')]]['accountcode']=_0x4d1ff6[_0xc9ae('0xa')];}}catch(_0x3d1576){utils['error'](util[_0xc9ae('0x5')]('[%s][recordings][newstate]',_0x4d1ff6[_0xc9ae('0x7')]),_0x3d1576);}};exports[_0xc9ae('0x1c')]=function(_0x4f694d){try{if(!_[_0xc9ae('0x18')](_0x4f694d[_0xc9ae('0x1d')])&&!_[_0xc9ae('0x18')](_0x4f694d[_0xc9ae('0x1d')]['mixmonitor_filename'])){utils['debug'](util[_0xc9ae('0x5')](_0xc9ae('0x1e'),_0x4f694d['uniqueid']),_0x4f694d);utils['info'](util[_0xc9ae('0x5')](_0xc9ae('0x1f'),_0x4f694d[_0xc9ae('0x7')],_0x4f694d['variable'],_0x4f694d[_0xc9ae('0x20')]));if(_[_0xc9ae('0x21')](_0x4f694d['value'],_0xc9ae('0x22'))){_0x4f694d['value']=_0x4f694d['value'][_0xc9ae('0x23')](_0xc9ae('0x22'),'.WAV');}if(recordings[_0x4f694d['linkedid']]){var _0x5a2cf3=_[_0xc9ae('0x24')](recordings[_0x4f694d[_0xc9ae('0x11')]][_0xc9ae('0x25')],{'value':_0x4f694d[_0xc9ae('0x20')]});if(_[_0xc9ae('0x18')](_0x5a2cf3)){recordings[_0x4f694d[_0xc9ae('0x11')]]['monitors'][_0xc9ae('0x26')]({'value':_0x4f694d[_0xc9ae('0x20')]});}}}}catch(_0x596a85){utils[_0xc9ae('0x16')](util[_0xc9ae('0x5')](_0xc9ae('0x1e'),_0x4f694d[_0xc9ae('0x7')]),_0x596a85);}};exports[_0xc9ae('0x27')]=function(_0x231de9){try{if(!_['isNil'](recordings[_0x231de9[_0xc9ae('0x7')]])){utils[_0xc9ae('0x28')](util[_0xc9ae('0x5')](_0xc9ae('0x29'),_0x231de9[_0xc9ae('0x7')]),_0x231de9);utils[_0xc9ae('0x4')](util[_0xc9ae('0x5')]('[%s][recordings][hangup]\x20calleridnum:%s\x20calleridname:%s\x20reason:%s',_0x231de9[_0xc9ae('0x7')],_0x231de9[_0xc9ae('0x2a')],_0x231de9[_0xc9ae('0x2b')],_0x231de9[_0xc9ae('0x2c')]));recordings[_0x231de9['uniqueid']][_0xc9ae('0x2a')]=_0x231de9[_0xc9ae('0x2a')];recordings[_0x231de9[_0xc9ae('0x7')]][_0xc9ae('0x2b')]=_0x231de9[_0xc9ae('0x2b')];recordings[_0x231de9[_0xc9ae('0x7')]][_0xc9ae('0x2d')]=_0x231de9[_0xc9ae('0x2d')];recordings[_0x231de9[_0xc9ae('0x7')]]['connectedlinename']=_0x231de9[_0xc9ae('0x2e')];if(recordings[_0x231de9['uniqueid']][_0xc9ae('0x2f')]==_0xc9ae('0x30')&&recordings[_0x231de9[_0xc9ae('0x7')]][_0xc9ae('0xa')]){recordings[_0x231de9[_0xc9ae('0x7')]]['connectedlinenum']=recordings[_0x231de9[_0xc9ae('0x7')]][_0xc9ae('0xa')];recordings[_0x231de9[_0xc9ae('0x7')]][_0xc9ae('0x2e')]='';}recordings[_0x231de9['uniqueid']][_0xc9ae('0x25')][_0xc9ae('0x31')](function(_0x19e98a){var _0x14515a=_[_0xc9ae('0x32')](recordings[_0x231de9[_0xc9ae('0x7')]]);_0x14515a['value']=_0x19e98a[_0xc9ae('0x20')];writeDB(_0x14515a);});delete recordings[_0x231de9[_0xc9ae('0x7')]];}}catch(_0x3a287d){utils[_0xc9ae('0x16')](util[_0xc9ae('0x5')](_0xc9ae('0x29'),_0x231de9[_0xc9ae('0x7')]),_0x3a287d);}};exports[_0xc9ae('0x33')]=function(_0x46a41f){try{if(!_[_0xc9ae('0x18')](recordings[_0x46a41f['uniqueid']])){utils[_0xc9ae('0x28')](util[_0xc9ae('0x5')]('[%s][recordings][newexten]',_0x46a41f[_0xc9ae('0x7')]),_0x46a41f);utils['info'](util['format'](_0xc9ae('0x34'),_0x46a41f[_0xc9ae('0x7')],_0x46a41f[_0xc9ae('0x35')],_0x46a41f['appdata']));if(_0x46a41f[_0xc9ae('0x35')]['toLowerCase']()==_0xc9ae('0x36')&&_['startsWith'](_0x46a41f[_0xc9ae('0x37')]['toLowerCase'](),'cdr')){var _0x587aa4=_0x46a41f[_0xc9ae('0x37')][_0xc9ae('0x38')]('=');var _0x39ad63=_0x587aa4[0x0][_0xc9ae('0x39')](_0x587aa4[0x0][_0xc9ae('0x3a')]('(')+0x1,_0x587aa4[0x0][_0xc9ae('0x3a')](')'));var _0x20b831=_0x587aa4[0x1];recordings[_0x46a41f[_0xc9ae('0x7')]][_0x39ad63]=_0x20b831;}}}catch(_0x1b64bd){utils['error'](util['format'](_0xc9ae('0x3b'),_0x46a41f[_0xc9ae('0x7')]),_0x1b64bd);}};exports[_0xc9ae('0x3c')]=function(_0x2f95c8){try{if(!_[_0xc9ae('0x18')](recordings[_0x2f95c8['uniqueid']])){utils[_0xc9ae('0x28')](util[_0xc9ae('0x5')](_0xc9ae('0x3d'),_0x2f95c8['uniqueid']),_0x2f95c8);utils[_0xc9ae('0x4')](util['format'](_0xc9ae('0x3e'),_0x2f95c8[_0xc9ae('0x7')],_0x2f95c8[_0xc9ae('0x3f')]));recordings[_0x2f95c8[_0xc9ae('0x7')]][_0xc9ae('0x3f')]=_0x2f95c8[_0xc9ae('0x3f')];}}catch(_0x4b28a8){utils[_0xc9ae('0x16')](util[_0xc9ae('0x5')](_0xc9ae('0x3d'),_0x2f95c8['uniqueid']),_0x4b28a8);}};exports[_0xc9ae('0x40')]=function(_0x5ee59d){try{utils[_0xc9ae('0x28')](util[_0xc9ae('0x5')]('[%s][recordings][blindtransfer]',_0x5ee59d['uniqueid']),_0x5ee59d);utils[_0xc9ae('0x4')](util[_0xc9ae('0x5')](_0xc9ae('0x41'),_0x5ee59d[_0xc9ae('0x7')],_0x5ee59d[_0xc9ae('0x42')],_0x5ee59d[_0xc9ae('0x43')],_0x5ee59d['transfereecalleridnum'],_0x5ee59d[_0xc9ae('0x44')]));if(recordings[_0x5ee59d['transfereruniqueid']]&&transfers[_0xc9ae('0x8')][_0x5ee59d[_0xc9ae('0x45')]]){transfers[_0xc9ae('0x8')][_0x5ee59d['transfereruniqueid']]['recording']=!![];}}catch(_0x8f12eb){utils[_0xc9ae('0x16')](util[_0xc9ae('0x5')]('[%s][recordings][blindtransfer]',_0x5ee59d['uniqueid']),_0x8f12eb);}};