Built motion from commit 9d1906d1.|2.5.40
[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 _0xdeec=['transfereecalleridname','transfereruniqueid','recording','util','./utils','./transfers.controller','[%s][recordings][writeDB]','blinds','transfereeuniqueid','accountcode','getUserByInternal','then','membername','name','UserId','request','CreateVoiceRecording','format','[%s][recordings][newchannel]','uniqueid','linkedid','context','exten','channel','error','newstate','debug','[%s][recordings][newstate]','channelstate','info','[%s][recordings][newstate]\x20context:%s\x20channel:%s','isNil','transfer','[%s][recordings][newstate]\x20linkedid:%s\x20context:%s\x20channel:%s','variable','mixmonitor_filename','[%s][recordings][varset]','[%s][recordings][varset]\x20variable:%s\x20value:%s','value','.wav49','.WAV','find','monitors','push','[%s][recordings][hangup]','[%s][recordings][hangup]\x20calleridnum:%s\x20calleridname:%s\x20reason:%s','cause-txt','calleridname','connectedlinenum','connectedlinename','type','outbound','forEach','newexten','application','appdata','toLowerCase','set','startsWith','split','substring','lastIndexOf','[%s][recordings][newexten]','queuecallerjoin','[%s][recordings][queuecallerjoin]','[%s][recordings][queuecallerjoin]\x20queue:%s','queue','[%s][recordings][blindtransfer]\x20transferercalleridnum:%s\x20transferercalleridname:%s\x20transfereecalleridnum:%s\x20transfereecalleridname:%s','transferercalleridnum','transferercalleridname','transfereecalleridnum'];(function(_0x685346,_0x3ef2e5){var _0x52e15b=function(_0x4435da){while(--_0x4435da){_0x685346['push'](_0x685346['shift']());}};_0x52e15b(++_0x3ef2e5);}(_0xdeec,0x1f4));var _0xcdee=function(_0x59e4f6,_0x96deee){_0x59e4f6=_0x59e4f6-0x0;var _0x310f30=_0xdeec[_0x59e4f6];return _0x310f30;};'use strict';var _=require('lodash');var util=require(_0xcdee('0x0'));var utils=require(_0xcdee('0x1'));var transfers=require(_0xcdee('0x2'));var recordings={};function writeDB(_0x447896){var _0x2b27f4;utils['info'](util['format'](_0xcdee('0x3'),_0x447896['uniqueid']));if(transfers['blinds'][_0x447896['uniqueid']]){_0x2b27f4=_0x447896['uniqueid'];_0x447896['uniqueid']=transfers[_0xcdee('0x4')][_0x447896['uniqueid']][_0xcdee('0x5')];}if(_0x447896[_0xcdee('0x6')]){utils[_0xcdee('0x7')](_0x447896[_0xcdee('0x6')])[_0xcdee('0x8')](function(_0x53ea84){if(_0x53ea84){_0x447896[_0xcdee('0x9')]=_0x53ea84[_0xcdee('0xa')];_0x447896[_0xcdee('0xb')]=_0x53ea84['id'];}utils[_0xcdee('0xc')]('CreateVoiceRecording',_0x447896);});}else{utils[_0xcdee('0xc')](_0xcdee('0xd'),_0x447896);}if(_0x2b27f4)delete transfers[_0xcdee('0x4')][_0x2b27f4];}exports['newchannel']=function(_0x3f4cdb){try{utils['debug'](util[_0xcdee('0xe')](_0xcdee('0xf'),_0x3f4cdb[_0xcdee('0x10')]),_0x3f4cdb);if(_0x3f4cdb[_0xcdee('0x10')]==_0x3f4cdb[_0xcdee('0x11')]){utils['info'](util[_0xcdee('0xe')]('[%s][recordings][newchannel]\x20context:%s\x20exten:%s',_0x3f4cdb[_0xcdee('0x10')],_0x3f4cdb[_0xcdee('0x12')],_0x3f4cdb['exten']));recordings[_0x3f4cdb[_0xcdee('0x10')]]={'uniqueid':_0x3f4cdb[_0xcdee('0x10')],'accountcode':_0x3f4cdb[_0xcdee('0x6')],'exten':_0x3f4cdb[_0xcdee('0x13')],'context':_0x3f4cdb[_0xcdee('0x12')],'channel':_0x3f4cdb[_0xcdee('0x14')],'monitors':[]};}}catch(_0x3ba159){utils[_0xcdee('0x15')](util[_0xcdee('0xe')](_0xcdee('0xf'),_0x3f4cdb[_0xcdee('0x10')]),_0x3ba159);}};exports[_0xcdee('0x16')]=function(_0xeffb22){try{utils[_0xcdee('0x17')](util['format'](_0xcdee('0x18'),_0xeffb22['uniqueid']),_0xeffb22);if(!_['isNil'](recordings[_0xeffb22[_0xcdee('0x10')]])&&_0xeffb22[_0xcdee('0x19')]==0x6){utils[_0xcdee('0x1a')](util[_0xcdee('0xe')](_0xcdee('0x1b'),_0xeffb22[_0xcdee('0x10')],_0xeffb22['context'],_0xeffb22[_0xcdee('0x14')]));}else if(!_[_0xcdee('0x1c')](recordings[_0xeffb22[_0xcdee('0x11')]])&&_0xeffb22[_0xcdee('0x19')]==0x6&&_0xeffb22[_0xcdee('0x12')]!=_0xcdee('0x1d')){utils[_0xcdee('0x1a')](util[_0xcdee('0xe')](_0xcdee('0x1e'),_0xeffb22[_0xcdee('0x10')],_0xeffb22[_0xcdee('0x11')],_0xeffb22[_0xcdee('0x12')],_0xeffb22[_0xcdee('0x14')]));recordings[_0xeffb22['linkedid']][_0xcdee('0x6')]=_0xeffb22[_0xcdee('0x6')];}}catch(_0x4d175e){utils['error'](util[_0xcdee('0xe')]('[%s][recordings][newstate]',_0xeffb22[_0xcdee('0x10')]),_0x4d175e);}};exports['varset']=function(_0x655d1e){try{if(!_[_0xcdee('0x1c')](_0x655d1e[_0xcdee('0x1f')])&&!_[_0xcdee('0x1c')](_0x655d1e[_0xcdee('0x1f')][_0xcdee('0x20')])){utils[_0xcdee('0x17')](util[_0xcdee('0xe')](_0xcdee('0x21'),_0x655d1e['uniqueid']),_0x655d1e);utils[_0xcdee('0x1a')](util['format'](_0xcdee('0x22'),_0x655d1e[_0xcdee('0x10')],_0x655d1e[_0xcdee('0x1f')],_0x655d1e[_0xcdee('0x23')]));if(_['endsWith'](_0x655d1e[_0xcdee('0x23')],_0xcdee('0x24'))){_0x655d1e[_0xcdee('0x23')]=_0x655d1e[_0xcdee('0x23')]['replace'](_0xcdee('0x24'),_0xcdee('0x25'));}if(recordings[_0x655d1e[_0xcdee('0x11')]]){var _0x2fcc8b=_[_0xcdee('0x26')](recordings[_0x655d1e[_0xcdee('0x11')]][_0xcdee('0x27')],{'value':_0x655d1e['value']});if(_[_0xcdee('0x1c')](_0x2fcc8b)){recordings[_0x655d1e[_0xcdee('0x11')]][_0xcdee('0x27')][_0xcdee('0x28')]({'value':_0x655d1e[_0xcdee('0x23')]});}}}}catch(_0x96eb8c){utils['error'](util[_0xcdee('0xe')]('[%s][recordings][varset]',_0x655d1e['uniqueid']),_0x96eb8c);}};exports['hangup']=function(_0x3b0043){try{if(!_[_0xcdee('0x1c')](recordings[_0x3b0043['uniqueid']])){utils['debug'](util[_0xcdee('0xe')](_0xcdee('0x29'),_0x3b0043[_0xcdee('0x10')]),_0x3b0043);utils[_0xcdee('0x1a')](util[_0xcdee('0xe')](_0xcdee('0x2a'),_0x3b0043[_0xcdee('0x10')],_0x3b0043['calleridnum'],_0x3b0043['calleridname'],_0x3b0043[_0xcdee('0x2b')]));recordings[_0x3b0043[_0xcdee('0x10')]]['calleridnum']=_0x3b0043['calleridnum'];recordings[_0x3b0043['uniqueid']][_0xcdee('0x2c')]=_0x3b0043[_0xcdee('0x2c')];recordings[_0x3b0043[_0xcdee('0x10')]]['connectedlinenum']=_0x3b0043[_0xcdee('0x2d')];recordings[_0x3b0043[_0xcdee('0x10')]]['connectedlinename']=_0x3b0043[_0xcdee('0x2e')];if(recordings[_0x3b0043[_0xcdee('0x10')]][_0xcdee('0x2f')]==_0xcdee('0x30')&&recordings[_0x3b0043[_0xcdee('0x10')]][_0xcdee('0x6')]){recordings[_0x3b0043[_0xcdee('0x10')]]['connectedlinenum']=recordings[_0x3b0043[_0xcdee('0x10')]][_0xcdee('0x6')];recordings[_0x3b0043[_0xcdee('0x10')]][_0xcdee('0x2e')]='';}recordings[_0x3b0043[_0xcdee('0x10')]][_0xcdee('0x27')][_0xcdee('0x31')](function(_0x1217fc){var _0x43774d=_['clone'](recordings[_0x3b0043['uniqueid']]);_0x43774d[_0xcdee('0x23')]=_0x1217fc[_0xcdee('0x23')];writeDB(_0x43774d);});delete recordings[_0x3b0043[_0xcdee('0x10')]];}}catch(_0x141705){utils['error'](util['format'](_0xcdee('0x29'),_0x3b0043[_0xcdee('0x10')]),_0x141705);}};exports[_0xcdee('0x32')]=function(_0x23518){try{if(!_['isNil'](recordings[_0x23518[_0xcdee('0x10')]])){utils[_0xcdee('0x17')](util[_0xcdee('0xe')]('[%s][recordings][newexten]',_0x23518['uniqueid']),_0x23518);utils['info'](util['format']('[%s][recordings][newexten]\x20application:%s\x20appdata:%s',_0x23518[_0xcdee('0x10')],_0x23518[_0xcdee('0x33')],_0x23518[_0xcdee('0x34')]));if(_0x23518[_0xcdee('0x33')][_0xcdee('0x35')]()==_0xcdee('0x36')&&_[_0xcdee('0x37')](_0x23518[_0xcdee('0x34')]['toLowerCase'](),'cdr')){var _0x59f8f8=_0x23518[_0xcdee('0x34')][_0xcdee('0x38')]('=');var _0x458864=_0x59f8f8[0x0][_0xcdee('0x39')](_0x59f8f8[0x0][_0xcdee('0x3a')]('(')+0x1,_0x59f8f8[0x0][_0xcdee('0x3a')](')'));var _0x1bfdaf=_0x59f8f8[0x1];recordings[_0x23518[_0xcdee('0x10')]][_0x458864]=_0x1bfdaf;}}}catch(_0x12435a){utils[_0xcdee('0x15')](util[_0xcdee('0xe')](_0xcdee('0x3b'),_0x23518['uniqueid']),_0x12435a);}};exports[_0xcdee('0x3c')]=function(_0x2ec086){try{if(!_[_0xcdee('0x1c')](recordings[_0x2ec086[_0xcdee('0x10')]])){utils[_0xcdee('0x17')](util[_0xcdee('0xe')](_0xcdee('0x3d'),_0x2ec086['uniqueid']),_0x2ec086);utils[_0xcdee('0x1a')](util[_0xcdee('0xe')](_0xcdee('0x3e'),_0x2ec086[_0xcdee('0x10')],_0x2ec086[_0xcdee('0x3f')]));recordings[_0x2ec086['uniqueid']][_0xcdee('0x3f')]=_0x2ec086[_0xcdee('0x3f')];}}catch(_0x346eea){utils[_0xcdee('0x15')](util['format']('[%s][recordings][queuecallerjoin]',_0x2ec086[_0xcdee('0x10')]),_0x346eea);}};exports['blindtransfer']=function(_0x2c0cd0){try{utils[_0xcdee('0x17')](util[_0xcdee('0xe')]('[%s][recordings][blindtransfer]',_0x2c0cd0[_0xcdee('0x10')]),_0x2c0cd0);utils[_0xcdee('0x1a')](util[_0xcdee('0xe')](_0xcdee('0x40'),_0x2c0cd0['uniqueid'],_0x2c0cd0[_0xcdee('0x41')],_0x2c0cd0[_0xcdee('0x42')],_0x2c0cd0[_0xcdee('0x43')],_0x2c0cd0[_0xcdee('0x44')]));if(recordings[_0x2c0cd0[_0xcdee('0x45')]]&&transfers[_0xcdee('0x4')][_0x2c0cd0[_0xcdee('0x45')]]){transfers[_0xcdee('0x4')][_0x2c0cd0[_0xcdee('0x45')]][_0xcdee('0x46')]=!![];}}catch(_0x57dc51){utils['error'](util[_0xcdee('0xe')]('[%s][recordings][blindtransfer]',_0x2c0cd0[_0xcdee('0x10')]),_0x57dc51);}};