Built motion from commit (unavailable).|2.5.30
[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 _0xe65c=['[%s][recordings][queuecallerjoin]','lodash','util','./utils','info','[%s][recordings][writeDB]','accountcode','getUserByInternal','then','membername','name','UserId','request','CreateVoiceRecording','newchannel','debug','format','[%s][recordings][newchannel]','uniqueid','linkedid','[%s][recordings][newchannel]\x20context:%s\x20exten:%s','error','isNil','channelstate','[%s][recordings][newstate]\x20context:%s\x20channel:%s','context','channel','mixmonitor_filename','[%s][recordings][varset]','[%s][recordings][varset]\x20variable:%s\x20value:%s','variable','value','endsWith','.wav49','replace','.WAV','find','monitors','[%s][recordings][hangup]','[%s][recordings][hangup]\x20calleridnum:%s\x20calleridname:%s\x20reason:%s','calleridnum','calleridname','cause-txt','connectedlinenum','connectedlinename','forEach','[%s][recordings][newexten]\x20application:%s\x20appdata:%s','application','appdata','toLowerCase','set','startsWith','cdr','substring','lastIndexOf','[%s][recordings][newexten]','queuecallerjoin','[%s][recordings][queuecallerjoin]\x20queue:%s','queue'];(function(_0x1035c1,_0x2d8583){var _0x308d67=function(_0x58ddb6){while(--_0x58ddb6){_0x1035c1['push'](_0x1035c1['shift']());}};_0x308d67(++_0x2d8583);}(_0xe65c,0x19e));var _0xce65=function(_0x2822b3,_0x49842b){_0x2822b3=_0x2822b3-0x0;var _0x4b9178=_0xe65c[_0x2822b3];return _0x4b9178;};'use strict';var _=require(_0xce65('0x0'));var util=require(_0xce65('0x1'));var utils=require(_0xce65('0x2'));var recordings={};function writeDB(_0x7dc233){utils[_0xce65('0x3')](util['format'](_0xce65('0x4'),_0x7dc233['uniqueid']));if(_0x7dc233[_0xce65('0x5')]){utils[_0xce65('0x6')](_0x7dc233['accountcode'])[_0xce65('0x7')](function(_0x330dcc){if(_0x330dcc){_0x7dc233[_0xce65('0x8')]=_0x330dcc[_0xce65('0x9')];_0x7dc233[_0xce65('0xa')]=_0x330dcc['id'];}utils['request']('CreateVoiceRecording',_0x7dc233);});}else{utils[_0xce65('0xb')](_0xce65('0xc'),_0x7dc233);}}exports[_0xce65('0xd')]=function(_0xb15e46){try{utils[_0xce65('0xe')](util[_0xce65('0xf')](_0xce65('0x10'),_0xb15e46[_0xce65('0x11')]),_0xb15e46);if(_0xb15e46[_0xce65('0x11')]==_0xb15e46[_0xce65('0x12')]){utils['info'](util[_0xce65('0xf')](_0xce65('0x13'),_0xb15e46[_0xce65('0x11')],_0xb15e46['context'],_0xb15e46['exten']));recordings[_0xb15e46[_0xce65('0x11')]]={'uniqueid':_0xb15e46[_0xce65('0x11')],'accountcode':_0xb15e46['accountcode'],'exten':_0xb15e46['exten'],'context':_0xb15e46['context'],'channel':_0xb15e46['channel'],'monitors':[]};}}catch(_0xf6ba1b){utils[_0xce65('0x14')](util[_0xce65('0xf')](_0xce65('0x10'),_0xb15e46[_0xce65('0x11')]),_0xf6ba1b);}};exports['newstate']=function(_0x1ba62b){try{utils['debug'](util[_0xce65('0xf')]('[%s][recordings][newstate]',_0x1ba62b[_0xce65('0x11')]),_0x1ba62b);if(!_[_0xce65('0x15')](recordings[_0x1ba62b['uniqueid']])&&_0x1ba62b[_0xce65('0x16')]==0x6){utils[_0xce65('0x3')](util[_0xce65('0xf')](_0xce65('0x17'),_0x1ba62b[_0xce65('0x11')],_0x1ba62b[_0xce65('0x18')],_0x1ba62b[_0xce65('0x19')]));}else if(!_[_0xce65('0x15')](recordings[_0x1ba62b['linkedid']])&&_0x1ba62b[_0xce65('0x16')]==0x6&&_0x1ba62b['context']!='transfer'){utils[_0xce65('0x3')](util[_0xce65('0xf')]('[%s][recordings][newstate]\x20linkedid:%s\x20context:%s\x20channel:%s',_0x1ba62b['uniqueid'],_0x1ba62b[_0xce65('0x12')],_0x1ba62b['context'],_0x1ba62b[_0xce65('0x19')]));recordings[_0x1ba62b[_0xce65('0x12')]]['accountcode']=_0x1ba62b[_0xce65('0x5')];}}catch(_0x238127){utils['error'](util['format']('[%s][recordings][newstate]',_0x1ba62b[_0xce65('0x11')]),_0x238127);}};exports['varset']=function(_0x26f835){try{if(!_['isNil'](_0x26f835['variable'])&&!_[_0xce65('0x15')](_0x26f835['variable'][_0xce65('0x1a')])){utils['debug'](util['format'](_0xce65('0x1b'),_0x26f835[_0xce65('0x11')]),_0x26f835);utils[_0xce65('0x3')](util['format'](_0xce65('0x1c'),_0x26f835[_0xce65('0x11')],_0x26f835[_0xce65('0x1d')],_0x26f835[_0xce65('0x1e')]));if(_[_0xce65('0x1f')](_0x26f835['value'],_0xce65('0x20'))){_0x26f835['value']=_0x26f835[_0xce65('0x1e')][_0xce65('0x21')](_0xce65('0x20'),_0xce65('0x22'));}if(recordings[_0x26f835[_0xce65('0x12')]]){var _0x392a48=_[_0xce65('0x23')](recordings[_0x26f835[_0xce65('0x12')]][_0xce65('0x24')],{'value':_0x26f835['value']});if(_[_0xce65('0x15')](_0x392a48)){recordings[_0x26f835[_0xce65('0x12')]][_0xce65('0x24')]['push']({'value':_0x26f835['value']});}}}}catch(_0x5e402e){utils[_0xce65('0x14')](util[_0xce65('0xf')](_0xce65('0x1b'),_0x26f835[_0xce65('0x11')]),_0x5e402e);}};exports['hangup']=function(_0x51dcdb){try{if(!_[_0xce65('0x15')](recordings[_0x51dcdb['uniqueid']])){utils[_0xce65('0xe')](util[_0xce65('0xf')](_0xce65('0x25'),_0x51dcdb['uniqueid']),_0x51dcdb);utils[_0xce65('0x3')](util['format'](_0xce65('0x26'),_0x51dcdb[_0xce65('0x11')],_0x51dcdb[_0xce65('0x27')],_0x51dcdb[_0xce65('0x28')],_0x51dcdb[_0xce65('0x29')]));recordings[_0x51dcdb[_0xce65('0x11')]][_0xce65('0x27')]=_0x51dcdb[_0xce65('0x27')];recordings[_0x51dcdb[_0xce65('0x11')]][_0xce65('0x28')]=_0x51dcdb['calleridname'];recordings[_0x51dcdb['uniqueid']]['connectedlinenum']=_0x51dcdb[_0xce65('0x2a')];recordings[_0x51dcdb['uniqueid']][_0xce65('0x2b')]=_0x51dcdb[_0xce65('0x2b')];if(recordings[_0x51dcdb[_0xce65('0x11')]]['type']=='outbound'&&recordings[_0x51dcdb['uniqueid']][_0xce65('0x5')]){recordings[_0x51dcdb['uniqueid']][_0xce65('0x2a')]=recordings[_0x51dcdb[_0xce65('0x11')]]['accountcode'];recordings[_0x51dcdb[_0xce65('0x11')]][_0xce65('0x2b')]='';}recordings[_0x51dcdb['uniqueid']][_0xce65('0x24')][_0xce65('0x2c')](function(_0x28923e){var _0x7108bb=_['clone'](recordings[_0x51dcdb[_0xce65('0x11')]]);_0x7108bb['value']=_0x28923e['value'];writeDB(_0x7108bb);});delete recordings[_0x51dcdb[_0xce65('0x11')]];}}catch(_0x5e2bae){utils[_0xce65('0x14')](util[_0xce65('0xf')](_0xce65('0x25'),_0x51dcdb[_0xce65('0x11')]),_0x5e2bae);}};exports['newexten']=function(_0x1e6ffb){try{if(!_['isNil'](recordings[_0x1e6ffb[_0xce65('0x11')]])){utils[_0xce65('0xe')](util[_0xce65('0xf')]('[%s][recordings][newexten]',_0x1e6ffb[_0xce65('0x11')]),_0x1e6ffb);utils[_0xce65('0x3')](util[_0xce65('0xf')](_0xce65('0x2d'),_0x1e6ffb[_0xce65('0x11')],_0x1e6ffb[_0xce65('0x2e')],_0x1e6ffb[_0xce65('0x2f')]));if(_0x1e6ffb[_0xce65('0x2e')][_0xce65('0x30')]()==_0xce65('0x31')&&_[_0xce65('0x32')](_0x1e6ffb['appdata']['toLowerCase'](),_0xce65('0x33'))){var _0x3c7aa4=_0x1e6ffb['appdata']['split']('=');var _0xd07d4e=_0x3c7aa4[0x0][_0xce65('0x34')](_0x3c7aa4[0x0]['lastIndexOf']('(')+0x1,_0x3c7aa4[0x0][_0xce65('0x35')](')'));var _0x4437de=_0x3c7aa4[0x1];recordings[_0x1e6ffb['uniqueid']][_0xd07d4e]=_0x4437de;}}}catch(_0x539f2f){utils['error'](util[_0xce65('0xf')](_0xce65('0x36'),_0x1e6ffb[_0xce65('0x11')]),_0x539f2f);}};exports[_0xce65('0x37')]=function(_0x4efef9){try{if(!_['isNil'](recordings[_0x4efef9[_0xce65('0x11')]])){utils['debug'](util[_0xce65('0xf')]('[%s][recordings][queuecallerjoin]',_0x4efef9['uniqueid']),_0x4efef9);utils[_0xce65('0x3')](util['format'](_0xce65('0x38'),_0x4efef9[_0xce65('0x11')],_0x4efef9[_0xce65('0x39')]));recordings[_0x4efef9[_0xce65('0x11')]][_0xce65('0x39')]=_0x4efef9['queue'];}}catch(_0x3f3cc4){utils[_0xce65('0x14')](util[_0xce65('0xf')](_0xce65('0x3a'),_0x4efef9[_0xce65('0x11')]),_0x3f3cc4);}};