[How-To] Record Calls
-
@domubpkm said in [How-To] Record Calls:
To clarify, your recorder automatically records all conversations, correct? In what sound format?
Yes, that is correct, in wav format.
-
@br1 said in [How-To] Record Calls:
script will delete any that are older than 30 days.
Perhaps the option should be provided:
- automatically erase recordings after ... days (between 0 and 30 days) ? 0 = never
-
@domubpkm said in [How-To] Record Calls:
Perhaps the option should be provided:
I'll work on it ...
automatically erase recordings after ... days (between 0 and 30 days) ? 0 = never
You can use uText app " Edit and save every file on your Phone" ... open filemanager and go to .callrec directory then click prepare.sh , open with uText app and find this line :
find /home/phablet/MyRec/* -mtime +30 -exec rm {} \; 2> /dev/null ;
replace "30" with days you want
or if you want to disable automatically erase you have to prepend the line with hash sign '#'
# find /home/phablet/MyRec/* -mtime +30 -exec rm {} \; 2> /dev/null ;ù
and save file, anyway wav is an uncompressed format, a rough estimate, 1-hour call about 30 megabytes ...
-
@br1 Thanks again. I used the archive manager in ubuntu 20.04 to edit the line.
One more clarification: what do you mean by 'at de device startup' in the line 'at device startup prepare.sh script will delete any that are older than 30 days'. Does this mean every time we restart or reboot the smartphone ? So, for example, if there is no reboot for 3 months, all the records for the 3 months will be on the smartphone ?
And if we restart the smartphone after 25 days, how does the script understand this? The 30 day period is not reset? -
@domubpkm said in [How-To] Record Calls:
Does this mean every time we restart or reboot the smartphone ? So, for example, if there is no reboot for 3 months, all the records for the 3 months will be on the smartphone ?
Yes the Linux-style solution is very simple ... a small script :
#!/bin/sh find /home/phablet/MyRec/* -mtime +30 -exec rm {} \; 2> /dev/null
to be run daily via crontab ... but crontab requires (again) to mount root in read write mode, the easiest solution to avoid it is add the line to manager.sh, check would be carried out after each recording.
I'll be away for a week, but then I'll work on it.
-
@br1 These are just improvements. I test on my ultra custom rc channel and it works fine.
The wav format doesn't take up that much space because it's the lowest quality i think here. -
Sailfish has call recording built into the phone app with the push of a button. Just sayin'...
-
@bocephus Sailfish is not UT. If you have the knowledge, you can implement the mechanism you say. This will be greatly appreciated by the community. Personally, I thank all those who bring a positive point of contribution to UT on this forum.
-
As far as I'm concerned, .wav records from MyRec are not directly readable from this directory. If I copy this directory to the Music directory or to my SD card, I can.
-
@domubpkm I can read them.
-
@bolly said in [How-To] Record Calls:
I can read them
Hello.
What do you mean more specifically? What phone /channel ? -
Hello @domubpkm ,
- E4.5 stable channel.
- Installation with the script: https://forums.ubports.com/topic/8144/how-to-record-calls/4?_=1665911281738
- Open file with file explorer and preview.
-
-
@bolly Exact. Preview on the line of selected wav file works but not preview on top.
-
Hello @Br1 . I just noticed today, as it is my first try,
that the sound reproduced from the recording in loudspeaker mode is not of good quality. Do you confirm it? If so, can you make the recording speakerphone compatible?Edit 10/30 : I note that recordings are named with their recording end time. Personally, it seems more logical to me that this is the start time of a recording: that's why I rename each recording with the times contained in the call log.
-
@BR1 thank you for this jewell!
-
@br1 Very thanks.
I have dedicated an entry in my blog in Spanish of your great work, it is mostly a translation.
The link to your installation script is down, I had to create another one.
https://t.me/ElCondonRotoDeGNU/3
Thanks you again and good year
-
It's the feature that has done me the greatest service since it's been around. Should be by default on each smartphone and can be activated as desired. Will absolutely have to be adapted for focal if necessary.
-
Great.
Works under OTA-24 on FairPhone 3+.
Saves me from taking notes during a call. -
-
--------- UPDATE ---------
I am glad you enjoyed ... new version to install/uninstall with single command, see here for further information.
The previous version must be uninstalled and the device rebooted, but first save the recorded calls or they will be deleted.
New features :
-
install script asks you how many days you want to keep recorded calls, hit enter for default (30 days)
if you later decide to change, repeat the installation (in this case reboot not required) -
recorded calls are named with their recording start time
three steps :
1 - download (just click) callrecorder.1.02.tar.gz from here
2 - open file manager, go to Downloads click callrecorder.1.02.tar.gz and select extract archive
3 - open terminal and type :
sudo /home/phablet/Downloads/callrecorder.1.02/callrec-install
type 1 to install
type 2 to uninstall
type 3 to exitand reboot, that's all.
Changelog :
I added a new script that is run daily by crontab, keep-rec-sh :
#!/bin/bash # days=+30 # delete recordings older than ... days find /home/phablet/MyRec/* -mtime $days -exec rm {} \; 2> /dev/null ;
preview of the new version of callrec_install :
#!/bin/bash CRSERV=/etc/init.d/callrecorder ; # Make sure only root can run this script if [ "$(id -u)" != "0" ]; then echo " Must be run as root, you must prepend sudo !" 1>&2 ; exit 1 fi echo -e '\n - Install/uninstall CallRecorder :\n' ; PS3='Please enter your choice : ' options=("Install" "Uninstall" "Quit") select opt in "${options[@]}" do case $opt in "Install") # -------------------- already installed section ------------------------------ crontab -l | grep -q 'keep-rec-sh' ; if [ $? = 0 ] ; then echo -e '\n Recorded calls : auto erase them after' ; read -p " how many days ? (hit enter for 30) : " days # --------------- default days section -------------------------- #if pressed ENTER set default days if [ ${#days} -eq 0 ]; then days=+30 ; # remove + for echo message myString="${days:1}" ; echo -e "\n - Will be deleted after $myString days. \n" ; # replaces the third line sed -i "3s/.*/days=$days/" /home/phablet/.callrec/keep-rec-sh ; exit 0 else # -------- custom days section ------------------------- echo -e "\n - Will be deleted after $days days. \n" ; days=+$days ; # replaces the third line sed -i "3s/.*/days=$days/" /home/phablet/.callrec/keep-rec-sh ; exit 0 fi fi # ----------- end already installed ------------------------------------------- # ------------- new install section --------------------------------------------- # creates 3 directories mkdir -p /home/phablet/.callrec ; mkdir -p /home/phablet/MyRec ; mkdir -p /home/phablet/.cr_Ram ; cp /home/phablet/Downloads/callrecorder.1.02/* /home/phablet/.callrec/ ; # change the working directory cd /home/phablet/.callrec ; # mount root in read/write mode mount -o remount,rw / ; # set daily check at 11 am crontab -l > cron_bkp ; echo "0 11 * * * /home/phablet/.callrec/keep-rec-sh >/dev/null 2>&1" >> cron_bkp ; crontab /home/phablet/.callrec/cron_bkp ; rm /home/phablet/.callrec/cron_bkp ; # copy callrecorder service and enable autostart cp callrecorder /etc/init.d/ ; update-rc.d callrecorder defaults ; echo -e '\n Recorded calls : auto erase them after' ; read -p " how many days ? (hit enter for 30) : " days # --------------- default days section ------------------ #if pressed ENTER set default days if [ ${#days} -eq 0 ]; then days=+30 ; # remove + for echo message myString="${days:1}" ; echo -e "\n - Will be deleted after $myString days. \n" ; # replaces the third line sed -i "3s/.*/days=$days/" /home/phablet/.callrec/keep-rec-sh ; else # -------- custom days section -------------------- echo -e "\n - Will be deleted after $days days. \n" ; days=+$days ; # replaces the third line sed -i "3s/.*/days=$days/" /home/phablet/.callrec/keep-rec-sh ; fi # roll back root in read only mode mount -o remount,ro / ; echo -e '\n Installed, reboot your device !\n' ; exit 0 ;; "Uninstall") # check status if [ ! -f "$CRSERV" ]; then echo -e '\n CallRecorder is not installed !\n' ; exit 1 else # mount root in read/write mode mount -o remount,rw / ; # stop callrecorder, disable autostart and remove service file service callrecorder stop ; update-rc.d -f callrecorder remove ; rm /etc/init.d/callrecorder ; # remove line from crontab crontab -l | grep -v 'keep-rec-sh' | crontab - ; # roll back root in read only mode mount -o remount,ro / ; # delete scripts and remove directories rm -rf /home/phablet/.callrec/* ; rmdir /home/phablet/.callrec ; rm -rf /home/phablet/.cr_Ram/* ; echo -e '\n Uninstalled, reboot your device !\n' exit 0 fi ;; "Quit") exit 0 ;; *) echo "invalid option $REPLY" ;; esac done
and preview of new version of manager.sh :
#!/bin/sh while true do FL1=/home/phablet/.cr_Ram/Rec_Call/fl1 ; FL2=/home/phablet/.cr_Ram/Rec_Call/fl2 ; FL3=/home/phablet/.cr_Ram/Rec_Call/fl3 ; RecDir=/home/phablet/MyRec ; HomDir=/home/phablet/.cr_Ram/Rec_Call ; # if fl1 exist ini.sh intercepted outgoing or incoming call if [ -f "$FL1" ]; then # setName=$(date +'%d-%m-%Y_%H:%M:%S') ; # deletes temporary file and starts recording as phablet user (with .new extension) rm -f $FL1 ; su phablet -s /usr/bin/arecord /home/phablet/MyRec/"$(date +%H_%M_%S)".wav.new & fi # if fl2 exist call has ended if [ -f "$FL2" ]; then # deletes the temporary file and stop recording rm -f $FL2 ; pkill -f arecord ; sleep 0.2 ; # if fl3 exist call was answered if [ -f "$FL3" ]; then # FLN=$(cat /home/phablet/.cr_Ram/Rec_Call/fln) ; # delete .new extension and exec three scripts rm -f $FL3 ; mv $RecDir/*.new $RecDir/$setName.wav ; $HomDir/ini.sh & $HomDir/ter.sh & $HomDir/ris.sh & else # call was not answered # delete recording and exec two scripts rm $RecDir/*.new ; $HomDir/ini.sh & $HomDir/ter.sh & fi fi sleep 1 ; done ;
. small differences in other scripts (new paths)
. now uninstall procedure does not delete recorded calls
. the working directory is now hidden (.cr_Ram)
. the previous version is available here
-
-
OTA-25 --- You can reinstall, no changes are necessary.
-