fce87849378221d403d649fb8a7515e1dc1d74d6
[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 _0x7fb6=['accountcode','then','membername','name','request','CreateVoiceRecording','newchannel','format','[%s][recordings][newchannel]','linkedid','[%s][recordings][newchannel]\x20context:%s\x20exten:%s','context','exten','channel','error','[%s][recordings][newstate]','isNil','channelstate','[%s][recordings][newstate]\x20context:%s\x20channel:%s','transfer','[%s][recordings][newstate]\x20linkedid:%s\x20context:%s\x20channel:%s','varset','variable','debug','[%s][recordings][varset]','value','endsWith','replace','.wav49','.WAV','monitors','hangup','[%s][recordings][hangup]\x20calleridnum:%s\x20calleridname:%s\x20reason:%s','calleridnum','cause-txt','calleridname','connectedlinenum','connectedlinename','type','forEach','clone','[%s][recordings][hangup]','newexten','[%s][recordings][newexten]','[%s][recordings][newexten]\x20application:%s\x20appdata:%s','appdata','toLowerCase','set','startsWith','substring','lastIndexOf','queuecallerjoin','[%s][recordings][queuecallerjoin]','[%s][recordings][queuecallerjoin]\x20queue:%s','queue','[%s][recordings][blindtransfer]','[%s][recordings][blindtransfer]\x20transferercalleridnum:%s\x20transferercalleridname:%s\x20transfereecalleridnum:%s\x20transfereecalleridname:%s','transferercalleridnum','transfereecalleridnum','transfereecalleridname','transfereruniqueid','recording','lodash','./utils','./transfers.controller','info','uniqueid','blinds'];(function(_0x3947c9,_0x4d6c97){var _0x2e7871=function(_0x1236cc){while(--_0x1236cc){_0x3947c9['push'](_0x3947c9['shift']());}};_0x2e7871(++_0x4d6c97);}(_0x7fb6,0x192));var _0x67fb=function(_0x4a98be,_0x274857){_0x4a98be=_0x4a98be-0x0;var _0x45607c=_0x7fb6[_0x4a98be];return _0x45607c;};'use strict';var _=require(_0x67fb('0x0'));var util=require('util');var utils=require(_0x67fb('0x1'));var transfers=require(_0x67fb('0x2'));var recordings={};function writeDB(_0x5e66b8){var _0x45e129;utils[_0x67fb('0x3')](util['format']('[%s][recordings][writeDB]',_0x5e66b8[_0x67fb('0x4')]));if(transfers['blinds'][_0x5e66b8[_0x67fb('0x4')]]){_0x45e129=_0x5e66b8[_0x67fb('0x4')];_0x5e66b8[_0x67fb('0x4')]=transfers[_0x67fb('0x5')][_0x5e66b8[_0x67fb('0x4')]]['transfereeuniqueid'];}if(_0x5e66b8[_0x67fb('0x6')]){utils['getUserByInternal'](_0x5e66b8['accountcode'])[_0x67fb('0x7')](function(_0x18acac){if(_0x18acac){_0x5e66b8[_0x67fb('0x8')]=_0x18acac[_0x67fb('0x9')];_0x5e66b8['UserId']=_0x18acac['id'];}utils[_0x67fb('0xa')](_0x67fb('0xb'),_0x5e66b8);});}else{utils[_0x67fb('0xa')](_0x67fb('0xb'),_0x5e66b8);}if(_0x45e129)delete transfers['blinds'][_0x45e129];}exports[_0x67fb('0xc')]=function(_0x2609c9){try{utils['debug'](util[_0x67fb('0xd')](_0x67fb('0xe'),_0x2609c9[_0x67fb('0x4')]),_0x2609c9);if(_0x2609c9[_0x67fb('0x4')]==_0x2609c9[_0x67fb('0xf')]){utils[_0x67fb('0x3')](util['format'](_0x67fb('0x10'),_0x2609c9[_0x67fb('0x4')],_0x2609c9[_0x67fb('0x11')],_0x2609c9['exten']));recordings[_0x2609c9[_0x67fb('0x4')]]={'uniqueid':_0x2609c9['uniqueid'],'accountcode':_0x2609c9[_0x67fb('0x6')],'exten':_0x2609c9[_0x67fb('0x12')],'context':_0x2609c9[_0x67fb('0x11')],'channel':_0x2609c9[_0x67fb('0x13')],'monitors':[]};}}catch(_0x30192f){utils[_0x67fb('0x14')](util[_0x67fb('0xd')](_0x67fb('0xe'),_0x2609c9[_0x67fb('0x4')]),_0x30192f);}};exports['newstate']=function(_0x4efeac){try{utils['debug'](util[_0x67fb('0xd')](_0x67fb('0x15'),_0x4efeac[_0x67fb('0x4')]),_0x4efeac);if(!_[_0x67fb('0x16')](recordings[_0x4efeac[_0x67fb('0x4')]])&&_0x4efeac[_0x67fb('0x17')]==0x6){utils[_0x67fb('0x3')](util[_0x67fb('0xd')](_0x67fb('0x18'),_0x4efeac[_0x67fb('0x4')],_0x4efeac[_0x67fb('0x11')],_0x4efeac[_0x67fb('0x13')]));}else if(!_[_0x67fb('0x16')](recordings[_0x4efeac[_0x67fb('0xf')]])&&_0x4efeac[_0x67fb('0x17')]==0x6&&_0x4efeac[_0x67fb('0x11')]!=_0x67fb('0x19')){utils[_0x67fb('0x3')](util[_0x67fb('0xd')](_0x67fb('0x1a'),_0x4efeac['uniqueid'],_0x4efeac[_0x67fb('0xf')],_0x4efeac['context'],_0x4efeac[_0x67fb('0x13')]));recordings[_0x4efeac[_0x67fb('0xf')]][_0x67fb('0x6')]=_0x4efeac[_0x67fb('0x6')];}}catch(_0x252dfe){utils[_0x67fb('0x14')](util['format']('[%s][recordings][newstate]',_0x4efeac[_0x67fb('0x4')]),_0x252dfe);}};exports[_0x67fb('0x1b')]=function(_0x27ba5d){try{if(!_['isNil'](_0x27ba5d[_0x67fb('0x1c')])&&!_[_0x67fb('0x16')](_0x27ba5d[_0x67fb('0x1c')]['mixmonitor_filename'])){utils[_0x67fb('0x1d')](util[_0x67fb('0xd')](_0x67fb('0x1e'),_0x27ba5d[_0x67fb('0x4')]),_0x27ba5d);utils[_0x67fb('0x3')](util['format']('[%s][recordings][varset]\x20variable:%s\x20value:%s',_0x27ba5d[_0x67fb('0x4')],_0x27ba5d[_0x67fb('0x1c')],_0x27ba5d[_0x67fb('0x1f')]));if(_[_0x67fb('0x20')](_0x27ba5d[_0x67fb('0x1f')],'.wav49')){_0x27ba5d[_0x67fb('0x1f')]=_0x27ba5d[_0x67fb('0x1f')][_0x67fb('0x21')](_0x67fb('0x22'),_0x67fb('0x23'));}if(recordings[_0x27ba5d[_0x67fb('0xf')]]){var _0x449cab=_['find'](recordings[_0x27ba5d[_0x67fb('0xf')]][_0x67fb('0x24')],{'value':_0x27ba5d['value']});if(_[_0x67fb('0x16')](_0x449cab)){recordings[_0x27ba5d[_0x67fb('0xf')]][_0x67fb('0x24')]['push']({'value':_0x27ba5d[_0x67fb('0x1f')]});}}}}catch(_0x166050){utils[_0x67fb('0x14')](util[_0x67fb('0xd')](_0x67fb('0x1e'),_0x27ba5d[_0x67fb('0x4')]),_0x166050);}};exports[_0x67fb('0x25')]=function(_0x5642d5){try{if(!_[_0x67fb('0x16')](recordings[_0x5642d5[_0x67fb('0x4')]])){utils[_0x67fb('0x1d')](util[_0x67fb('0xd')]('[%s][recordings][hangup]',_0x5642d5['uniqueid']),_0x5642d5);utils[_0x67fb('0x3')](util[_0x67fb('0xd')](_0x67fb('0x26'),_0x5642d5[_0x67fb('0x4')],_0x5642d5[_0x67fb('0x27')],_0x5642d5['calleridname'],_0x5642d5[_0x67fb('0x28')]));recordings[_0x5642d5['uniqueid']]['calleridnum']=_0x5642d5[_0x67fb('0x27')];recordings[_0x5642d5[_0x67fb('0x4')]][_0x67fb('0x29')]=_0x5642d5['calleridname'];recordings[_0x5642d5['uniqueid']][_0x67fb('0x2a')]=_0x5642d5[_0x67fb('0x2a')];recordings[_0x5642d5['uniqueid']][_0x67fb('0x2b')]=_0x5642d5[_0x67fb('0x2b')];if(recordings[_0x5642d5[_0x67fb('0x4')]][_0x67fb('0x2c')]=='outbound'&&recordings[_0x5642d5[_0x67fb('0x4')]][_0x67fb('0x6')]){recordings[_0x5642d5[_0x67fb('0x4')]][_0x67fb('0x2a')]=recordings[_0x5642d5[_0x67fb('0x4')]][_0x67fb('0x6')];recordings[_0x5642d5[_0x67fb('0x4')]][_0x67fb('0x2b')]='';}recordings[_0x5642d5[_0x67fb('0x4')]][_0x67fb('0x24')][_0x67fb('0x2d')](function(_0x73fe95){var _0x59a8a9=_[_0x67fb('0x2e')](recordings[_0x5642d5[_0x67fb('0x4')]]);_0x59a8a9[_0x67fb('0x1f')]=_0x73fe95[_0x67fb('0x1f')];writeDB(_0x59a8a9);});delete recordings[_0x5642d5[_0x67fb('0x4')]];}}catch(_0x36aab7){utils[_0x67fb('0x14')](util[_0x67fb('0xd')](_0x67fb('0x2f'),_0x5642d5[_0x67fb('0x4')]),_0x36aab7);}};exports[_0x67fb('0x30')]=function(_0x43a539){try{if(!_[_0x67fb('0x16')](recordings[_0x43a539[_0x67fb('0x4')]])){utils[_0x67fb('0x1d')](util['format'](_0x67fb('0x31'),_0x43a539[_0x67fb('0x4')]),_0x43a539);utils[_0x67fb('0x3')](util[_0x67fb('0xd')](_0x67fb('0x32'),_0x43a539['uniqueid'],_0x43a539['application'],_0x43a539[_0x67fb('0x33')]));if(_0x43a539['application'][_0x67fb('0x34')]()==_0x67fb('0x35')&&_[_0x67fb('0x36')](_0x43a539['appdata']['toLowerCase'](),'cdr')){var _0x4d90d3=_0x43a539['appdata']['split']('=');var _0xa1fbd7=_0x4d90d3[0x0][_0x67fb('0x37')](_0x4d90d3[0x0][_0x67fb('0x38')]('(')+0x1,_0x4d90d3[0x0][_0x67fb('0x38')](')'));var _0xf77eb0=_0x4d90d3[0x1];recordings[_0x43a539[_0x67fb('0x4')]][_0xa1fbd7]=_0xf77eb0;}}}catch(_0x5ce801){utils[_0x67fb('0x14')](util[_0x67fb('0xd')](_0x67fb('0x31'),_0x43a539[_0x67fb('0x4')]),_0x5ce801);}};exports[_0x67fb('0x39')]=function(_0x4f61f2){try{if(!_[_0x67fb('0x16')](recordings[_0x4f61f2['uniqueid']])){utils[_0x67fb('0x1d')](util[_0x67fb('0xd')](_0x67fb('0x3a'),_0x4f61f2['uniqueid']),_0x4f61f2);utils[_0x67fb('0x3')](util[_0x67fb('0xd')](_0x67fb('0x3b'),_0x4f61f2[_0x67fb('0x4')],_0x4f61f2[_0x67fb('0x3c')]));recordings[_0x4f61f2[_0x67fb('0x4')]]['queue']=_0x4f61f2['queue'];}}catch(_0x11992c){utils['error'](util[_0x67fb('0xd')]('[%s][recordings][queuecallerjoin]',_0x4f61f2['uniqueid']),_0x11992c);}};exports['blindtransfer']=function(_0x1529ce){try{utils[_0x67fb('0x1d')](util[_0x67fb('0xd')](_0x67fb('0x3d'),_0x1529ce[_0x67fb('0x4')]),_0x1529ce);utils['info'](util[_0x67fb('0xd')](_0x67fb('0x3e'),_0x1529ce['uniqueid'],_0x1529ce[_0x67fb('0x3f')],_0x1529ce['transferercalleridname'],_0x1529ce[_0x67fb('0x40')],_0x1529ce[_0x67fb('0x41')]));if(recordings[_0x1529ce['transfereruniqueid']]&&transfers[_0x67fb('0x5')][_0x1529ce[_0x67fb('0x42')]]){transfers[_0x67fb('0x5')][_0x1529ce[_0x67fb('0x42')]][_0x67fb('0x43')]=!![];}}catch(_0x5233f7){utils['error'](util[_0x67fb('0xd')](_0x67fb('0x3d'),_0x1529ce[_0x67fb('0x4')]),_0x5233f7);}};