Built motion from commit 85328c08.|2.5.50
[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 _0xa52f=['transfereeuniqueid','accountcode','getUserByInternal','then','membername','name','UserId','request','CreateVoiceRecording','newchannel','debug','[%s][recordings][newchannel]','linkedid','info','format','[%s][recordings][newchannel]\x20context:%s\x20exten:%s','context','exten','error','newstate','[%s][recordings][newstate]','channelstate','[%s][recordings][newstate]\x20context:%s\x20channel:%s','channel','isNil','[%s][recordings][newstate]\x20linkedid:%s\x20context:%s\x20channel:%s','varset','variable','mixmonitor_filename','[%s][recordings][varset]','[%s][recordings][varset]\x20variable:%s\x20value:%s','value','endsWith','replace','.wav49','.WAV','monitors','[%s][recordings][hangup]\x20calleridnum:%s\x20calleridname:%s\x20reason:%s','calleridnum','cause-txt','calleridname','connectedlinenum','outbound','forEach','clone','newexten','[%s][recordings][newexten]','application','toLowerCase','set','startsWith','appdata','cdr','substring','lastIndexOf','queuecallerjoin','[%s][recordings][queuecallerjoin]','[%s][recordings][queuecallerjoin]\x20queue:%s','queue','[%s][recordings][blindtransfer]\x20transferercalleridnum:%s\x20transferercalleridname:%s\x20transfereecalleridnum:%s\x20transfereecalleridname:%s','transferercalleridnum','transferercalleridname','transfereecalleridnum','transfereruniqueid','recording','lodash','util','./utils','./transfers.controller','[%s][recordings][writeDB]','uniqueid','blinds'];(function(_0x537893,_0x23e5bd){var _0x265c06=function(_0x59ab4f){while(--_0x59ab4f){_0x537893['push'](_0x537893['shift']());}};_0x265c06(++_0x23e5bd);}(_0xa52f,0xd1));var _0xfa52=function(_0x3da955,_0x26dd20){_0x3da955=_0x3da955-0x0;var _0x2c57ba=_0xa52f[_0x3da955];return _0x2c57ba;};'use strict';var _=require(_0xfa52('0x0'));var util=require(_0xfa52('0x1'));var utils=require(_0xfa52('0x2'));var transfers=require(_0xfa52('0x3'));var recordings={};function writeDB(_0x55dacf){var _0x2c3209;utils['info'](util['format'](_0xfa52('0x4'),_0x55dacf[_0xfa52('0x5')]));if(transfers['blinds'][_0x55dacf['uniqueid']]){_0x2c3209=_0x55dacf[_0xfa52('0x5')];_0x55dacf[_0xfa52('0x5')]=transfers[_0xfa52('0x6')][_0x55dacf['uniqueid']][_0xfa52('0x7')];}if(_0x55dacf[_0xfa52('0x8')]){utils[_0xfa52('0x9')](_0x55dacf[_0xfa52('0x8')])[_0xfa52('0xa')](function(_0x5188ef){if(_0x5188ef){_0x55dacf[_0xfa52('0xb')]=_0x5188ef[_0xfa52('0xc')];_0x55dacf[_0xfa52('0xd')]=_0x5188ef['id'];}utils[_0xfa52('0xe')](_0xfa52('0xf'),_0x55dacf);});}else{utils[_0xfa52('0xe')]('CreateVoiceRecording',_0x55dacf);}if(_0x2c3209)delete transfers['blinds'][_0x2c3209];}exports[_0xfa52('0x10')]=function(_0x5e7dae){try{utils[_0xfa52('0x11')](util['format'](_0xfa52('0x12'),_0x5e7dae[_0xfa52('0x5')]),_0x5e7dae);if(_0x5e7dae[_0xfa52('0x5')]==_0x5e7dae[_0xfa52('0x13')]){utils[_0xfa52('0x14')](util[_0xfa52('0x15')](_0xfa52('0x16'),_0x5e7dae[_0xfa52('0x5')],_0x5e7dae[_0xfa52('0x17')],_0x5e7dae[_0xfa52('0x18')]));recordings[_0x5e7dae[_0xfa52('0x5')]]={'uniqueid':_0x5e7dae[_0xfa52('0x5')],'accountcode':_0x5e7dae[_0xfa52('0x8')],'exten':_0x5e7dae[_0xfa52('0x18')],'context':_0x5e7dae['context'],'channel':_0x5e7dae['channel'],'monitors':[]};}}catch(_0x249fb7){utils[_0xfa52('0x19')](util[_0xfa52('0x15')](_0xfa52('0x12'),_0x5e7dae[_0xfa52('0x5')]),_0x249fb7);}};exports[_0xfa52('0x1a')]=function(_0xa03a9c){try{utils[_0xfa52('0x11')](util[_0xfa52('0x15')](_0xfa52('0x1b'),_0xa03a9c[_0xfa52('0x5')]),_0xa03a9c);if(!_['isNil'](recordings[_0xa03a9c[_0xfa52('0x5')]])&&_0xa03a9c[_0xfa52('0x1c')]==0x6){utils[_0xfa52('0x14')](util[_0xfa52('0x15')](_0xfa52('0x1d'),_0xa03a9c[_0xfa52('0x5')],_0xa03a9c[_0xfa52('0x17')],_0xa03a9c[_0xfa52('0x1e')]));}else if(!_[_0xfa52('0x1f')](recordings[_0xa03a9c[_0xfa52('0x13')]])&&_0xa03a9c[_0xfa52('0x1c')]==0x6&&_0xa03a9c[_0xfa52('0x17')]!='transfer'){utils[_0xfa52('0x14')](util['format'](_0xfa52('0x20'),_0xa03a9c['uniqueid'],_0xa03a9c[_0xfa52('0x13')],_0xa03a9c[_0xfa52('0x17')],_0xa03a9c[_0xfa52('0x1e')]));recordings[_0xa03a9c[_0xfa52('0x13')]][_0xfa52('0x8')]=_0xa03a9c['accountcode'];}}catch(_0x5b128e){utils[_0xfa52('0x19')](util[_0xfa52('0x15')](_0xfa52('0x1b'),_0xa03a9c[_0xfa52('0x5')]),_0x5b128e);}};exports[_0xfa52('0x21')]=function(_0x5b9eef){try{if(!_[_0xfa52('0x1f')](_0x5b9eef[_0xfa52('0x22')])&&!_[_0xfa52('0x1f')](_0x5b9eef[_0xfa52('0x22')][_0xfa52('0x23')])){utils[_0xfa52('0x11')](util[_0xfa52('0x15')](_0xfa52('0x24'),_0x5b9eef[_0xfa52('0x5')]),_0x5b9eef);utils['info'](util[_0xfa52('0x15')](_0xfa52('0x25'),_0x5b9eef[_0xfa52('0x5')],_0x5b9eef[_0xfa52('0x22')],_0x5b9eef[_0xfa52('0x26')]));if(_[_0xfa52('0x27')](_0x5b9eef[_0xfa52('0x26')],'.wav49')){_0x5b9eef['value']=_0x5b9eef[_0xfa52('0x26')][_0xfa52('0x28')](_0xfa52('0x29'),_0xfa52('0x2a'));}if(recordings[_0x5b9eef[_0xfa52('0x13')]]){var _0x2b86f6=_['find'](recordings[_0x5b9eef[_0xfa52('0x13')]][_0xfa52('0x2b')],{'value':_0x5b9eef[_0xfa52('0x26')]});if(_[_0xfa52('0x1f')](_0x2b86f6)){recordings[_0x5b9eef[_0xfa52('0x13')]][_0xfa52('0x2b')]['push']({'value':_0x5b9eef[_0xfa52('0x26')]});}}}}catch(_0x5a2b95){utils[_0xfa52('0x19')](util[_0xfa52('0x15')](_0xfa52('0x24'),_0x5b9eef[_0xfa52('0x5')]),_0x5a2b95);}};exports['hangup']=function(_0x1fcd9e){try{if(!_[_0xfa52('0x1f')](recordings[_0x1fcd9e['uniqueid']])){utils[_0xfa52('0x11')](util[_0xfa52('0x15')]('[%s][recordings][hangup]',_0x1fcd9e[_0xfa52('0x5')]),_0x1fcd9e);utils[_0xfa52('0x14')](util['format'](_0xfa52('0x2c'),_0x1fcd9e[_0xfa52('0x5')],_0x1fcd9e[_0xfa52('0x2d')],_0x1fcd9e['calleridname'],_0x1fcd9e[_0xfa52('0x2e')]));recordings[_0x1fcd9e[_0xfa52('0x5')]][_0xfa52('0x2d')]=_0x1fcd9e[_0xfa52('0x2d')];recordings[_0x1fcd9e[_0xfa52('0x5')]][_0xfa52('0x2f')]=_0x1fcd9e['calleridname'];recordings[_0x1fcd9e[_0xfa52('0x5')]][_0xfa52('0x30')]=_0x1fcd9e[_0xfa52('0x30')];recordings[_0x1fcd9e[_0xfa52('0x5')]]['connectedlinename']=_0x1fcd9e['connectedlinename'];if(recordings[_0x1fcd9e[_0xfa52('0x5')]]['type']==_0xfa52('0x31')&&recordings[_0x1fcd9e['uniqueid']][_0xfa52('0x8')]){recordings[_0x1fcd9e[_0xfa52('0x5')]][_0xfa52('0x30')]=recordings[_0x1fcd9e[_0xfa52('0x5')]][_0xfa52('0x8')];recordings[_0x1fcd9e[_0xfa52('0x5')]]['connectedlinename']='';}recordings[_0x1fcd9e['uniqueid']][_0xfa52('0x2b')][_0xfa52('0x32')](function(_0x2fa6eb){var _0x3b9e31=_[_0xfa52('0x33')](recordings[_0x1fcd9e[_0xfa52('0x5')]]);_0x3b9e31[_0xfa52('0x26')]=_0x2fa6eb['value'];writeDB(_0x3b9e31);});delete recordings[_0x1fcd9e[_0xfa52('0x5')]];}}catch(_0x394e29){utils[_0xfa52('0x19')](util[_0xfa52('0x15')]('[%s][recordings][hangup]',_0x1fcd9e[_0xfa52('0x5')]),_0x394e29);}};exports[_0xfa52('0x34')]=function(_0x16973a){try{if(!_['isNil'](recordings[_0x16973a[_0xfa52('0x5')]])){utils[_0xfa52('0x11')](util[_0xfa52('0x15')](_0xfa52('0x35'),_0x16973a[_0xfa52('0x5')]),_0x16973a);utils[_0xfa52('0x14')](util[_0xfa52('0x15')]('[%s][recordings][newexten]\x20application:%s\x20appdata:%s',_0x16973a[_0xfa52('0x5')],_0x16973a[_0xfa52('0x36')],_0x16973a['appdata']));if(_0x16973a[_0xfa52('0x36')][_0xfa52('0x37')]()==_0xfa52('0x38')&&_[_0xfa52('0x39')](_0x16973a[_0xfa52('0x3a')][_0xfa52('0x37')](),_0xfa52('0x3b'))){var _0x267d1b=_0x16973a[_0xfa52('0x3a')]['split']('=');var _0x1ef383=_0x267d1b[0x0][_0xfa52('0x3c')](_0x267d1b[0x0]['lastIndexOf']('(')+0x1,_0x267d1b[0x0][_0xfa52('0x3d')](')'));var _0x50f6e=_0x267d1b[0x1];recordings[_0x16973a[_0xfa52('0x5')]][_0x1ef383]=_0x50f6e;}}}catch(_0x438093){utils['error'](util[_0xfa52('0x15')](_0xfa52('0x35'),_0x16973a[_0xfa52('0x5')]),_0x438093);}};exports[_0xfa52('0x3e')]=function(_0x59a2ab){try{if(!_[_0xfa52('0x1f')](recordings[_0x59a2ab[_0xfa52('0x5')]])){utils[_0xfa52('0x11')](util[_0xfa52('0x15')](_0xfa52('0x3f'),_0x59a2ab['uniqueid']),_0x59a2ab);utils[_0xfa52('0x14')](util[_0xfa52('0x15')](_0xfa52('0x40'),_0x59a2ab[_0xfa52('0x5')],_0x59a2ab['queue']));recordings[_0x59a2ab[_0xfa52('0x5')]][_0xfa52('0x41')]=_0x59a2ab[_0xfa52('0x41')];}}catch(_0x2ea8d5){utils['error'](util['format'](_0xfa52('0x3f'),_0x59a2ab['uniqueid']),_0x2ea8d5);}};exports['blindtransfer']=function(_0x257aef){try{utils[_0xfa52('0x11')](util[_0xfa52('0x15')]('[%s][recordings][blindtransfer]',_0x257aef[_0xfa52('0x5')]),_0x257aef);utils[_0xfa52('0x14')](util[_0xfa52('0x15')](_0xfa52('0x42'),_0x257aef['uniqueid'],_0x257aef[_0xfa52('0x43')],_0x257aef[_0xfa52('0x44')],_0x257aef[_0xfa52('0x45')],_0x257aef['transfereecalleridname']));if(recordings[_0x257aef[_0xfa52('0x46')]]&&transfers[_0xfa52('0x6')][_0x257aef[_0xfa52('0x46')]]){transfers[_0xfa52('0x6')][_0x257aef[_0xfa52('0x46')]][_0xfa52('0x47')]=!![];}}catch(_0x5054a6){utils[_0xfa52('0x19')](util[_0xfa52('0x15')]('[%s][recordings][blindtransfer]',_0x257aef[_0xfa52('0x5')]),_0x5054a6);}};