c6b39e8f72b380b409030ece9d2a0edc60fcf2f1
[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 _0x6822=['util','./utils','info','[%s][recordings][writeDB]','uniqueid','accountcode','getUserByInternal','then','membername','name','UserId','request','CreateVoiceRecording','debug','linkedid','format','[%s][recordings][newchannel]\x20context:%s\x20exten:%s','context','exten','channel','error','[%s][recordings][newchannel]','newstate','[%s][recordings][newstate]','isNil','channelstate','[%s][recordings][newstate]\x20context:%s\x20channel:%s','transfer','[%s][recordings][newstate]\x20linkedid:%s\x20context:%s\x20channel:%s','varset','variable','mixmonitor_filename','[%s][recordings][varset]\x20variable:%s\x20value:%s','value','endsWith','.wav49','replace','.WAV','find','monitors','push','[%s][recordings][varset]','[%s][recordings][hangup]','calleridnum','cause-txt','calleridname','connectedlinenum','connectedlinename','type','outbound','forEach','clone','newexten','[%s][recordings][newexten]','[%s][recordings][newexten]\x20application:%s\x20appdata:%s','application','appdata','toLowerCase','set','cdr','split','substring','queuecallerjoin','[%s][recordings][queuecallerjoin]','[%s][recordings][queuecallerjoin]\x20queue:%s','queue'];(function(_0x1ed832,_0x82686a){var _0x2c4db7=function(_0x8e5d91){while(--_0x8e5d91){_0x1ed832['push'](_0x1ed832['shift']());}};_0x2c4db7(++_0x82686a);}(_0x6822,0x18c));var _0x2682=function(_0x396996,_0xb6b5a9){_0x396996=_0x396996-0x0;var _0x4ea262=_0x6822[_0x396996];return _0x4ea262;};'use strict';var _=require('lodash');var util=require(_0x2682('0x0'));var utils=require(_0x2682('0x1'));var recordings={};function writeDB(_0x286b83){utils[_0x2682('0x2')](util['format'](_0x2682('0x3'),_0x286b83[_0x2682('0x4')]));if(_0x286b83[_0x2682('0x5')]){utils[_0x2682('0x6')](_0x286b83[_0x2682('0x5')])[_0x2682('0x7')](function(_0x15040a){if(_0x15040a){_0x286b83[_0x2682('0x8')]=_0x15040a[_0x2682('0x9')];_0x286b83[_0x2682('0xa')]=_0x15040a['id'];}utils[_0x2682('0xb')](_0x2682('0xc'),_0x286b83);});}else{utils[_0x2682('0xb')](_0x2682('0xc'),_0x286b83);}}exports['newchannel']=function(_0x3e72bc){try{utils[_0x2682('0xd')](util['format']('[%s][recordings][newchannel]',_0x3e72bc['uniqueid']),_0x3e72bc);if(_0x3e72bc[_0x2682('0x4')]==_0x3e72bc[_0x2682('0xe')]){utils['info'](util[_0x2682('0xf')](_0x2682('0x10'),_0x3e72bc['uniqueid'],_0x3e72bc[_0x2682('0x11')],_0x3e72bc[_0x2682('0x12')]));recordings[_0x3e72bc[_0x2682('0x4')]]={'uniqueid':_0x3e72bc[_0x2682('0x4')],'accountcode':_0x3e72bc[_0x2682('0x5')],'exten':_0x3e72bc[_0x2682('0x12')],'context':_0x3e72bc[_0x2682('0x11')],'channel':_0x3e72bc[_0x2682('0x13')],'monitors':[]};}}catch(_0xfb9e0c){utils[_0x2682('0x14')](util[_0x2682('0xf')](_0x2682('0x15'),_0x3e72bc[_0x2682('0x4')]),_0xfb9e0c);}};exports[_0x2682('0x16')]=function(_0x212aaf){try{utils['debug'](util['format'](_0x2682('0x17'),_0x212aaf[_0x2682('0x4')]),_0x212aaf);if(!_[_0x2682('0x18')](recordings[_0x212aaf['uniqueid']])&&_0x212aaf[_0x2682('0x19')]==0x6){utils['info'](util[_0x2682('0xf')](_0x2682('0x1a'),_0x212aaf[_0x2682('0x4')],_0x212aaf[_0x2682('0x11')],_0x212aaf[_0x2682('0x13')]));}else if(!_[_0x2682('0x18')](recordings[_0x212aaf['linkedid']])&&_0x212aaf[_0x2682('0x19')]==0x6&&_0x212aaf['context']!=_0x2682('0x1b')){utils[_0x2682('0x2')](util[_0x2682('0xf')](_0x2682('0x1c'),_0x212aaf[_0x2682('0x4')],_0x212aaf[_0x2682('0xe')],_0x212aaf[_0x2682('0x11')],_0x212aaf['channel']));recordings[_0x212aaf['linkedid']]['accountcode']=_0x212aaf[_0x2682('0x5')];}}catch(_0xaeeb70){utils['error'](util[_0x2682('0xf')](_0x2682('0x17'),_0x212aaf[_0x2682('0x4')]),_0xaeeb70);}};exports[_0x2682('0x1d')]=function(_0x4eeda5){try{if(!_[_0x2682('0x18')](_0x4eeda5[_0x2682('0x1e')])&&!_[_0x2682('0x18')](_0x4eeda5[_0x2682('0x1e')][_0x2682('0x1f')])){utils[_0x2682('0xd')](util['format']('[%s][recordings][varset]',_0x4eeda5['uniqueid']),_0x4eeda5);utils['info'](util[_0x2682('0xf')](_0x2682('0x20'),_0x4eeda5[_0x2682('0x4')],_0x4eeda5[_0x2682('0x1e')],_0x4eeda5[_0x2682('0x21')]));if(_[_0x2682('0x22')](_0x4eeda5[_0x2682('0x21')],_0x2682('0x23'))){_0x4eeda5['value']=_0x4eeda5[_0x2682('0x21')][_0x2682('0x24')]('.wav49',_0x2682('0x25'));}if(recordings[_0x4eeda5[_0x2682('0xe')]]){var _0x3b5fcd=_[_0x2682('0x26')](recordings[_0x4eeda5[_0x2682('0xe')]][_0x2682('0x27')],{'value':_0x4eeda5[_0x2682('0x21')]});if(_[_0x2682('0x18')](_0x3b5fcd)){recordings[_0x4eeda5[_0x2682('0xe')]][_0x2682('0x27')][_0x2682('0x28')]({'value':_0x4eeda5['value']});}}}}catch(_0x18b091){utils[_0x2682('0x14')](util[_0x2682('0xf')](_0x2682('0x29'),_0x4eeda5[_0x2682('0x4')]),_0x18b091);}};exports['hangup']=function(_0x495078){try{if(!_[_0x2682('0x18')](recordings[_0x495078[_0x2682('0x4')]])){utils[_0x2682('0xd')](util['format'](_0x2682('0x2a'),_0x495078[_0x2682('0x4')]),_0x495078);utils[_0x2682('0x2')](util[_0x2682('0xf')]('[%s][recordings][hangup]\x20calleridnum:%s\x20calleridname:%s\x20reason:%s',_0x495078['uniqueid'],_0x495078[_0x2682('0x2b')],_0x495078['calleridname'],_0x495078[_0x2682('0x2c')]));recordings[_0x495078[_0x2682('0x4')]][_0x2682('0x2b')]=_0x495078[_0x2682('0x2b')];recordings[_0x495078[_0x2682('0x4')]][_0x2682('0x2d')]=_0x495078['calleridname'];recordings[_0x495078['uniqueid']][_0x2682('0x2e')]=_0x495078['connectedlinenum'];recordings[_0x495078[_0x2682('0x4')]][_0x2682('0x2f')]=_0x495078[_0x2682('0x2f')];if(recordings[_0x495078[_0x2682('0x4')]][_0x2682('0x30')]==_0x2682('0x31')&&recordings[_0x495078[_0x2682('0x4')]][_0x2682('0x5')]){recordings[_0x495078[_0x2682('0x4')]][_0x2682('0x2e')]=recordings[_0x495078['uniqueid']][_0x2682('0x5')];recordings[_0x495078['uniqueid']]['connectedlinename']='';}recordings[_0x495078[_0x2682('0x4')]][_0x2682('0x27')][_0x2682('0x32')](function(_0x1fd3ed){var _0x41cc45=_[_0x2682('0x33')](recordings[_0x495078['uniqueid']]);_0x41cc45[_0x2682('0x21')]=_0x1fd3ed[_0x2682('0x21')];writeDB(_0x41cc45);});delete recordings[_0x495078[_0x2682('0x4')]];}}catch(_0x473543){utils[_0x2682('0x14')](util['format'](_0x2682('0x2a'),_0x495078['uniqueid']),_0x473543);}};exports[_0x2682('0x34')]=function(_0x4e5175){try{if(!_[_0x2682('0x18')](recordings[_0x4e5175[_0x2682('0x4')]])){utils['debug'](util[_0x2682('0xf')](_0x2682('0x35'),_0x4e5175[_0x2682('0x4')]),_0x4e5175);utils[_0x2682('0x2')](util[_0x2682('0xf')](_0x2682('0x36'),_0x4e5175[_0x2682('0x4')],_0x4e5175[_0x2682('0x37')],_0x4e5175[_0x2682('0x38')]));if(_0x4e5175[_0x2682('0x37')][_0x2682('0x39')]()==_0x2682('0x3a')&&_['startsWith'](_0x4e5175['appdata'][_0x2682('0x39')](),_0x2682('0x3b'))){var _0x5e64cb=_0x4e5175[_0x2682('0x38')][_0x2682('0x3c')]('=');var _0x792357=_0x5e64cb[0x0][_0x2682('0x3d')](_0x5e64cb[0x0]['lastIndexOf']('(')+0x1,_0x5e64cb[0x0]['lastIndexOf'](')'));var _0x3489b9=_0x5e64cb[0x1];recordings[_0x4e5175[_0x2682('0x4')]][_0x792357]=_0x3489b9;}}}catch(_0x2c53dc){utils[_0x2682('0x14')](util[_0x2682('0xf')]('[%s][recordings][newexten]',_0x4e5175['uniqueid']),_0x2c53dc);}};exports[_0x2682('0x3e')]=function(_0x1360d2){try{if(!_[_0x2682('0x18')](recordings[_0x1360d2[_0x2682('0x4')]])){utils[_0x2682('0xd')](util[_0x2682('0xf')](_0x2682('0x3f'),_0x1360d2[_0x2682('0x4')]),_0x1360d2);utils[_0x2682('0x2')](util['format'](_0x2682('0x40'),_0x1360d2['uniqueid'],_0x1360d2['queue']));recordings[_0x1360d2[_0x2682('0x4')]][_0x2682('0x41')]=_0x1360d2['queue'];}}catch(_0x4fae9c){utils[_0x2682('0x14')](util[_0x2682('0xf')](_0x2682('0x3f'),_0x1360d2[_0x2682('0x4')]),_0x4fae9c);}};