UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    [How-To] Record Calls

    Scheduled Pinned Locked Moved Support
    73 Posts 12 Posters 17.5k Views 12 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      This topic has been deleted. Only users with topic management privileges can see it.
      • D Offline
        domubpkm @Br1
        last edited by

        @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
        Br1B 1 Reply Last reply Reply Quote 0
        • Br1B Offline
          Br1 @domubpkm
          last edited by

          @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 ...

          ^

          • Google Pixel 3a XL
          • Xiaomi MI A2
          D 1 Reply Last reply Reply Quote 1
          • D Offline
            domubpkm @Br1
            last edited by

            @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?

            Br1B 1 Reply Last reply Reply Quote 0
            • Br1B Offline
              Br1 @domubpkm
              last edited by

              @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.

              ^

              • Google Pixel 3a XL
              • Xiaomi MI A2
              D 1 Reply Last reply Reply Quote 0
              • D Offline
                domubpkm @Br1
                last edited by

                @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.

                1 Reply Last reply Reply Quote 0
                • B Offline
                  Bocephus
                  last edited by

                  Sailfish has call recording built into the phone app with the push of a button. Just sayin'...

                  D 1 Reply Last reply Reply Quote -1
                  • D Offline
                    domubpkm @Bocephus
                    last edited by

                    @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.

                    1 Reply Last reply Reply Quote 3
                    • D Offline
                      domubpkm
                      last edited by

                      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.

                      BollyB 1 Reply Last reply Reply Quote 0
                      • BollyB Offline
                        Bolly @domubpkm
                        last edited by

                        @domubpkm I can read them.

                        2015-Now (Daily use) : BQ Aquaris E4.5 Ubuntu edition
                        2016-Now (Daily use) : BQ Aquaris M10 FHD Betatester

                        2020-Now : PinePhone Braveheart & CE UBports
                        2020-Now (Family/Daily use): Vollaphone Xenial
                        2022-Now (Family/Daily use): Vollaphone 22 Focal

                        D 1 Reply Last reply Reply Quote 0
                        • D Offline
                          domubpkm @Bolly
                          last edited by

                          @bolly said in [How-To] Record Calls:

                          I can read them

                          Hello.
                          What do you mean more specifically? What phone /channel ?

                          BollyB 1 Reply Last reply Reply Quote 0
                          • BollyB Offline
                            Bolly @domubpkm
                            last edited by Bolly

                            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.

                            2015-Now (Daily use) : BQ Aquaris E4.5 Ubuntu edition
                            2016-Now (Daily use) : BQ Aquaris M10 FHD Betatester

                            2020-Now : PinePhone Braveheart & CE UBports
                            2020-Now (Family/Daily use): Vollaphone Xenial
                            2022-Now (Family/Daily use): Vollaphone 22 Focal

                            D 1 Reply Last reply Reply Quote 0
                            • BollyB Bolly referenced this topic on
                            • D Offline
                              domubpkm @Bolly
                              last edited by

                              @bolly Exact. Preview on the line of selected wav file works but not preview on top.

                              2022-10-16T09:37:16.255Z.png

                              1 Reply Last reply Reply Quote 0
                              • D Offline
                                domubpkm
                                last edited by domubpkm

                                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.

                                1 Reply Last reply Reply Quote 0
                                • J Offline
                                  JosuΓ©
                                  last edited by

                                  @BR1 thank you for this jewell!

                                  1 Reply Last reply Reply Quote 0
                                  • BollyB Offline
                                    Bolly @Br1
                                    last edited by Bolly

                                    @br1 Very thanks.

                                    I have dedicated an entry in my blog in Spanish of your great work, it is mostly a translation.

                                    https://elcondonrotodegnu.wordpress.com/2022/12/31/como-grabar-todas-las-llamadas-en-ubuntu-touch-automaticamente/

                                    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 ☺

                                    2015-Now (Daily use) : BQ Aquaris E4.5 Ubuntu edition
                                    2016-Now (Daily use) : BQ Aquaris M10 FHD Betatester

                                    2020-Now : PinePhone Braveheart & CE UBports
                                    2020-Now (Family/Daily use): Vollaphone Xenial
                                    2022-Now (Family/Daily use): Vollaphone 22 Focal

                                    1 Reply Last reply Reply Quote 0
                                    • D Offline
                                      domubpkm
                                      last edited by

                                      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.

                                      1 Reply Last reply Reply Quote 0
                                      • F Offline
                                        FP3plusRT
                                        last edited by

                                        Great.
                                        Works under OTA-24 on FairPhone 3+.
                                        Saves me from taking notes during a call.

                                        1 Reply Last reply Reply Quote 0
                                        • Br1B Br1 referenced this topic on
                                        • Br1B Offline
                                          Br1
                                          last edited by

                                          --------- 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 exit

                                          and 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

                                          ^

                                          • Google Pixel 3a XL
                                          • Xiaomi MI A2
                                          1 Reply Last reply Reply Quote 2
                                          • Br1B Offline
                                            Br1
                                            last edited by

                                            OTA-25 --- You can reinstall, no changes are necessary.

                                            ^

                                            • Google Pixel 3a XL
                                            • Xiaomi MI A2
                                            D 1 Reply Last reply Reply Quote 2
                                            • KenedaK Keneda referenced this topic on
                                            • D Offline
                                              domubpkm @Br1
                                              last edited by domubpkm

                                              @Br1 Given the recent boot problems in RC on which I was, I had to reflash the Volla in RC (using the installer without wipe) on which the first short version of the recorder was installed. The recorder was no longer installed, all the files of the recorder yes.
                                              I pass steps, but I installed the last version of the recorder: I have to check that it works but I have a doubt since these boot problems... I'll keep you up-to-date.

                                              1 Reply Last reply Reply Quote 0
                                              • First post
                                                Last post