Built motion from commit (unavailable).|2.5.11
[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 _0xcbe1=['uniqueid','getUserByInternal','then','name','UserId','request','CreateVoiceRecording','newchannel','format','linkedid','info','[%s][recordings][newchannel]\x20context:%s\x20exten:%s','context','exten','accountcode','channel','error','[%s][recordings][newchannel]','newstate','debug','isNil','[%s][recordings][newstate]\x20context:%s\x20channel:%s','channelstate','[%s][recordings][newstate]\x20linkedid:%s\x20context:%s\x20channel:%s','[%s][recordings][newstate]','varset','variable','mixmonitor_filename','[%s][recordings][varset]','[%s][recordings][varset]\x20variable:%s\x20value:%s','value','endsWith','replace','.WAV','find','monitors','push','[%s][recordings][hangup]','[%s][recordings][hangup]\x20calleridnum:%s\x20calleridname:%s\x20reason:%s','calleridnum','calleridname','connectedlinenum','connectedlinename','type','outbound','forEach','clone','[%s][recordings][newexten]','application','appdata','startsWith','cdr','split','substring','lastIndexOf','queuecallerjoin','[%s][recordings][queuecallerjoin]','queue','util','[%s][recordings][writeDB]'];(function(_0x3afad3,_0x5266f8){var _0x4e55c6=function(_0x1100d7){while(--_0x1100d7){_0x3afad3['push'](_0x3afad3['shift']());}};_0x4e55c6(++_0x5266f8);}(_0xcbe1,0x1a2));var _0x1cbe=function(_0x4612df,_0x37a8f7){_0x4612df=_0x4612df-0x0;var _0x2804c6=_0xcbe1[_0x4612df];return _0x2804c6;};'use strict';var _=require('lodash');var util=require(_0x1cbe('0x0'));var utils=require('./utils');var recordings={};function writeDB(_0x5b6f45){utils['info'](util['format'](_0x1cbe('0x1'),_0x5b6f45[_0x1cbe('0x2')]));if(_0x5b6f45['accountcode']){utils[_0x1cbe('0x3')](_0x5b6f45['accountcode'])[_0x1cbe('0x4')](function(_0x168121){if(_0x168121){_0x5b6f45['membername']=_0x168121[_0x1cbe('0x5')];_0x5b6f45[_0x1cbe('0x6')]=_0x168121['id'];}utils[_0x1cbe('0x7')](_0x1cbe('0x8'),_0x5b6f45);});}else{utils[_0x1cbe('0x7')](_0x1cbe('0x8'),_0x5b6f45);}}exports[_0x1cbe('0x9')]=function(_0x42232d){try{utils['debug'](util[_0x1cbe('0xa')]('[%s][recordings][newchannel]',_0x42232d[_0x1cbe('0x2')]),_0x42232d);if(_0x42232d[_0x1cbe('0x2')]==_0x42232d[_0x1cbe('0xb')]){utils[_0x1cbe('0xc')](util['format'](_0x1cbe('0xd'),_0x42232d['uniqueid'],_0x42232d[_0x1cbe('0xe')],_0x42232d[_0x1cbe('0xf')]));recordings[_0x42232d['uniqueid']]={'uniqueid':_0x42232d[_0x1cbe('0x2')],'accountcode':_0x42232d[_0x1cbe('0x10')],'exten':_0x42232d[_0x1cbe('0xf')],'context':_0x42232d['context'],'channel':_0x42232d[_0x1cbe('0x11')],'monitors':[]};}}catch(_0x42a345){utils[_0x1cbe('0x12')](util[_0x1cbe('0xa')](_0x1cbe('0x13'),_0x42232d[_0x1cbe('0x2')]),_0x42a345);}};exports[_0x1cbe('0x14')]=function(_0x25093a){try{utils[_0x1cbe('0x15')](util[_0x1cbe('0xa')]('[%s][recordings][newstate]',_0x25093a[_0x1cbe('0x2')]),_0x25093a);if(!_[_0x1cbe('0x16')](recordings[_0x25093a[_0x1cbe('0x2')]])&&_0x25093a['channelstate']==0x6){utils[_0x1cbe('0xc')](util[_0x1cbe('0xa')](_0x1cbe('0x17'),_0x25093a['uniqueid'],_0x25093a['context'],_0x25093a[_0x1cbe('0x11')]));}else if(!_[_0x1cbe('0x16')](recordings[_0x25093a[_0x1cbe('0xb')]])&&_0x25093a[_0x1cbe('0x18')]==0x6&&_0x25093a['context']!='transfer'){utils[_0x1cbe('0xc')](util[_0x1cbe('0xa')](_0x1cbe('0x19'),_0x25093a['uniqueid'],_0x25093a['linkedid'],_0x25093a[_0x1cbe('0xe')],_0x25093a['channel']));recordings[_0x25093a[_0x1cbe('0xb')]][_0x1cbe('0x10')]=_0x25093a[_0x1cbe('0x10')];}}catch(_0x1790b1){utils[_0x1cbe('0x12')](util[_0x1cbe('0xa')](_0x1cbe('0x1a'),_0x25093a[_0x1cbe('0x2')]),_0x1790b1);}};exports[_0x1cbe('0x1b')]=function(_0x4c7a82){try{if(!_[_0x1cbe('0x16')](_0x4c7a82['variable'])&&!_[_0x1cbe('0x16')](_0x4c7a82[_0x1cbe('0x1c')][_0x1cbe('0x1d')])){utils['debug'](util[_0x1cbe('0xa')](_0x1cbe('0x1e'),_0x4c7a82[_0x1cbe('0x2')]),_0x4c7a82);utils[_0x1cbe('0xc')](util[_0x1cbe('0xa')](_0x1cbe('0x1f'),_0x4c7a82['uniqueid'],_0x4c7a82[_0x1cbe('0x1c')],_0x4c7a82[_0x1cbe('0x20')]));if(_[_0x1cbe('0x21')](_0x4c7a82['value'],'.wav49')){_0x4c7a82[_0x1cbe('0x20')]=_0x4c7a82['value'][_0x1cbe('0x22')]('.wav49',_0x1cbe('0x23'));}if(recordings[_0x4c7a82[_0x1cbe('0xb')]]){var _0x3a937e=_[_0x1cbe('0x24')](recordings[_0x4c7a82['linkedid']][_0x1cbe('0x25')],{'value':_0x4c7a82[_0x1cbe('0x20')]});if(_[_0x1cbe('0x16')](_0x3a937e)){recordings[_0x4c7a82[_0x1cbe('0xb')]][_0x1cbe('0x25')][_0x1cbe('0x26')]({'value':_0x4c7a82['value']});}}}}catch(_0x509a42){utils[_0x1cbe('0x12')](util['format'](_0x1cbe('0x1e'),_0x4c7a82[_0x1cbe('0x2')]),_0x509a42);}};exports['hangup']=function(_0x287e7d){try{if(!_['isNil'](recordings[_0x287e7d[_0x1cbe('0x2')]])){utils[_0x1cbe('0x15')](util[_0x1cbe('0xa')](_0x1cbe('0x27'),_0x287e7d['uniqueid']),_0x287e7d);utils['info'](util[_0x1cbe('0xa')](_0x1cbe('0x28'),_0x287e7d[_0x1cbe('0x2')],_0x287e7d[_0x1cbe('0x29')],_0x287e7d[_0x1cbe('0x2a')],_0x287e7d['cause-txt']));recordings[_0x287e7d[_0x1cbe('0x2')]][_0x1cbe('0x29')]=_0x287e7d['calleridnum'];recordings[_0x287e7d[_0x1cbe('0x2')]][_0x1cbe('0x2a')]=_0x287e7d[_0x1cbe('0x2a')];recordings[_0x287e7d['uniqueid']]['connectedlinenum']=_0x287e7d[_0x1cbe('0x2b')];recordings[_0x287e7d[_0x1cbe('0x2')]][_0x1cbe('0x2c')]=_0x287e7d[_0x1cbe('0x2c')];if(recordings[_0x287e7d[_0x1cbe('0x2')]][_0x1cbe('0x2d')]==_0x1cbe('0x2e')&&recordings[_0x287e7d[_0x1cbe('0x2')]]['accountcode']){recordings[_0x287e7d[_0x1cbe('0x2')]]['connectedlinenum']=recordings[_0x287e7d[_0x1cbe('0x2')]]['accountcode'];recordings[_0x287e7d[_0x1cbe('0x2')]]['connectedlinename']='';}recordings[_0x287e7d[_0x1cbe('0x2')]]['monitors'][_0x1cbe('0x2f')](function(_0x2c83e1){var _0x532b1e=_[_0x1cbe('0x30')](recordings[_0x287e7d[_0x1cbe('0x2')]]);_0x532b1e[_0x1cbe('0x20')]=_0x2c83e1[_0x1cbe('0x20')];writeDB(_0x532b1e);});delete recordings[_0x287e7d[_0x1cbe('0x2')]];}}catch(_0x3d8398){utils[_0x1cbe('0x12')](util[_0x1cbe('0xa')](_0x1cbe('0x27'),_0x287e7d[_0x1cbe('0x2')]),_0x3d8398);}};exports['newexten']=function(_0x2842b0){try{if(!_[_0x1cbe('0x16')](recordings[_0x2842b0[_0x1cbe('0x2')]])){utils[_0x1cbe('0x15')](util[_0x1cbe('0xa')](_0x1cbe('0x31'),_0x2842b0[_0x1cbe('0x2')]),_0x2842b0);utils[_0x1cbe('0xc')](util[_0x1cbe('0xa')]('[%s][recordings][newexten]\x20application:%s\x20appdata:%s',_0x2842b0[_0x1cbe('0x2')],_0x2842b0[_0x1cbe('0x32')],_0x2842b0[_0x1cbe('0x33')]));if(_0x2842b0[_0x1cbe('0x32')]['toLowerCase']()=='set'&&_[_0x1cbe('0x34')](_0x2842b0['appdata']['toLowerCase'](),_0x1cbe('0x35'))){var _0x169530=_0x2842b0[_0x1cbe('0x33')][_0x1cbe('0x36')]('=');var _0x44f4a4=_0x169530[0x0][_0x1cbe('0x37')](_0x169530[0x0][_0x1cbe('0x38')]('(')+0x1,_0x169530[0x0][_0x1cbe('0x38')](')'));var _0x50284b=_0x169530[0x1];recordings[_0x2842b0[_0x1cbe('0x2')]][_0x44f4a4]=_0x50284b;}}}catch(_0x47ae56){utils[_0x1cbe('0x12')](util[_0x1cbe('0xa')](_0x1cbe('0x31'),_0x2842b0['uniqueid']),_0x47ae56);}};exports[_0x1cbe('0x39')]=function(_0x438ed9){try{if(!_[_0x1cbe('0x16')](recordings[_0x438ed9[_0x1cbe('0x2')]])){utils[_0x1cbe('0x15')](util[_0x1cbe('0xa')](_0x1cbe('0x3a'),_0x438ed9[_0x1cbe('0x2')]),_0x438ed9);utils[_0x1cbe('0xc')](util[_0x1cbe('0xa')]('[%s][recordings][queuecallerjoin]\x20queue:%s',_0x438ed9[_0x1cbe('0x2')],_0x438ed9[_0x1cbe('0x3b')]));recordings[_0x438ed9[_0x1cbe('0x2')]][_0x1cbe('0x3b')]=_0x438ed9[_0x1cbe('0x3b')];}}catch(_0x49b406){utils[_0x1cbe('0x12')](util[_0x1cbe('0xa')]('[%s][recordings][queuecallerjoin]',_0x438ed9['uniqueid']),_0x49b406);}};