FORUMS
Remove All Ads from XDA
OnePlus 6 Development Program

Enable Native Call Recording [OOS] [ROOT/NON-ROOT] [APP/MAGISK/ADB/TASKER/BUILD.PROP]

1,427 posts
Thanks Meter: 2,338
 
By shadowstep, Senior Member on 9th July 2017, 09:16 PM
Post Reply Email Thread
Introduction
Hello everyone! You might/might not know that OxygenOS (and ROMs based on it) have an in-built/native call recording feature. However, it is not enabled for everyone as it is region-locked and it might/might not be illegal to record calls where you are, with/without notifying the other party that the call is being recorded.

This thread has been created with the intent of enabling this call recording feature on OxygenOS (and ROMs based on it). There are several ways to achieve this, which have been listed below. You can use any method, as per your preference, and it should work. Let's get straight to it then!

Ways to Enable
Non-Root Method(s)
  • ADB command via a computer
Root Method(s) (in order of recommendation)
  • Magisk module
  • Flashable zip
  • App which runs on boot
  • Script which runs on boot
  • Tasker profile
  • App which doesn't run on boot
  • Build.prop edit

Detailed Information and Usage
Non-Root Method(s)
  • ADB command via a computer
    • Requirements: A working ADB interface on a computer, USB debugging enabled on the device
    • Usage: Run the following command to enable native call recording:
      Code:
      adb shell settings put global op_voice_recording_supported_by_mcc 1
    • Reboot Survival: No, the command would have to be run again after every reboot.
Root Method(s) (in order of recommendation)
  • Magisk module
    • Requirements: Magisk 15.0+
    • Usage: Download and copy the EnableOOSNativeCallRecording v4.1-Magisk.zip to your device. Once done, import it in Magisk as a module.
    • Reboot Survival: Yes, Magisk will automatically run the module at every boot and enable native call recording.
  • Flashable zip
    • Requirements: TWRP
    • Usage: Download and copy the EnableOOSNativeCallRecording-Flashable v6.0.zip to your device. Once done, reboot to recovery (TWRP) and just flash the zip.
    • Reboot Survival: Yes, the zip adds a rc script file to the /etc/init folder, which executes at every boot.
    • Note: This method should work for rootless users too, but it needs TWRP and hence an unlocked bootloader.
  • App which runs on boot
    • Requirements: A rooted device
    • Usage: Download and install the EnableOOSNativeCallRecording v2.0.apk and run it. At the first launch, grant root access to the app.
    • Reboot Survival: Yes, the app will automatically run at every boot and enable native call recording.
  • Script which runs on boot
    • Requirements: Magisk 15.0+
    • Usage: Download and copy the 99callrecord file to your device. Once done, move it to the /sbin/.core/img/.core/service.d folder and set permissions of the file to 0755 (rwxr-xr-x).
    • Reboot Survival: Yes, Magisk will automatically run the script at every boot and enable native call recording.
  • Tasker profile
    • Requirements: Tasker, a rooted device
    • Usage: Download and copy the EnableOOSNativeCallRecording.prf.xml to your device. Once done, import it in Tasker as a profile.
    • Reboot Survival: Yes, Tasker will run the profile at every boot and enable native call recording.
  • App which doesn't run on boot
    • Requirements: A rooted device
    • Usage: Download and install the EnableOOSNativeCallRecording v1.0.apk and run it. At the first launch, grant root access to the app.
    • Reboot Survival: No, the app will have to be run manually after every reboot to enable native call recording.
  • Build.prop edit
    • Requirements: A root file editor/app to edit build.prop, a rooted device
    • Usage: Open your device's build.prop file (located to /system folder) and look for the persist.sys.oem.region entry. The present value of this entry would be OverSeas, and this has to be changed to CN. Once done, save your changes, making sure that the permissions of the file stay the same, i.e. 0644 (rw-r--r--).
    • Reboot Survival: Yes, the entry change changes your OEM region to China, where the native call recording is already enabled.

Downloads
Compatibility
Device(s)
  • OnePlus 5
  • OnePlus 5T
  • OnePlus 6
ROM(s)
  • OxygenOS 4.5.x
  • OxygenOS 5.x.x

Important Read-Me Points
  • (Magisk module and script method only) The command to enable call recording will be executed 30 seconds after the phone has completed boot, so please make sure that you wait for at least 30-45 seconds after boot before checking if the call recording menu option is visible for you under the stock dialer's settings.
  • (App method only) After your device fully boots up, a notification message will appear in the status bar/pull down notification panel to let you know that call recording has been enabled (which will go after 10 seconds if you don't swipe it away).
  • (App method only) There is also a "Read Me" link in the notification message if you want to read a short information regarding the app.
  • (All methods) All your recordings will be stored at /storage/emulated/0/Record/PhoneRecord in the aac format.
  • (All methods) The mod works only works when using the stock OxygenOS dialer, and it may/may not run on a different dialer.
  • (All methods) If something (the app/magisk script/anything) that is supposed to run on boot is not executing on boot, you need to turn off advanced optimisation: Settings -> Battery -> Battery optimisation -> Three dot menu (⋮) -> Advanced optimisation -> Turn off.
  • (All methods) The mod enabled the native call recording feature, but may/may not turn on auto-recording of the calls. If you wish to do that, after using one of the methods listed above, open the Stock Dialer App -> Three dot menu (⋮) -> Settings -> Auto-record calls -> Turn on.
  • (All methods) If you have hidden root from the stock dialer app via Magisk Hide, the call recording option will disappear after sometime. Make sure that the stock dialer is not checked in the Magisk Hide selection list.
  • (Build.prop method only) There may be side-effect(s) to changing this value. One known effect is that your on/off-screen buttons will swap (recents and back), but they can be swapped back using the buttons settings. There may/may not be other side-effect(s) as well. Use caution!

Disclaimers
  • I am not the developer of the Enable OOS Native Call Recording app. I merely stumbled upon it in OnePlus 3T's Themes, Apps and Mods forum and I take no credit for it. Please direct all your thanks and/or donations towards @padlad, the original developer of the app. Link to the original thread is here.
  • I am not the developer of the flashable zip that adds the necessary command to the ramdisk. The zip was posted later in this thread and I take no credit for it. Please direct all your thanks and/or donations towards @Zackptg5, the original developer of the flashable zip. Link to the release post is here.
  • You are doing this at your own risk. I am not responsible for bricked devices, dead SD cards, thermonuclear war, or you getting fired because the alarm app failed. Please do some research if you are unsure of how to go about something.
  • It might be illegal in your country to record calls with/without notifying the other party that the call is being recorded. Either ways, you are responsible for using this mod.

Thanks To
  • @padlad, for creating the Enable Call Recording app and the Tasker profile
  • @Zackptg5, for creating the flashable zip and sharing it for everyone to use
  • @topjohnwu, for Magisk and all the work he's ever done for the community
  • @osm0sis, for the AnyKernel2 template and all the work he's ever done for the community
  • @Crafty Apps EU, for Tasker
  • @Tomek Kondrat, for the mention in this XDA article
  • All of you guys for viewing this thread

Changelog
Enable OOS Native Call Recording Apk
  • v1.0 - Initial release
  • v2.0 - Enable run-on-boot
EnableOOSNativeCallRecording-Magisk Zip
  • v1.0 - Initial release for Magisk v13.1, v13.2, v13.3 (Template version 4)
  • v2.0 - Update for Magisk v14.0 (Template version 1400)
  • v3.0 - Update for Magisk v15.0 (Template version 1500)
  • v4.0 - Reduced the script execution delay from 2 minutes post boot to 10 seconds post boot
  • v4.1 - Slightly increased the script execution delay from 10 seconds post boot to 30 seconds post boot to fix issues some users reported
EnableOOSNativeCallRecording-Flashable Zip
  • v1.0 - Initial release
  • v2.0 - Updated to remove the separate init file and run the command from existing the init.rc file
  • v3.0 - Updated to include device codenames in addition to the official device names
  • v4.0 - Synced with the latest AnyKernel template and new BusyBox
  • v5.0 - Synced with the latest AnyKernel template and changed backup/restore method
  • v6.0 - Completely re-wrote flashable zip; now works for rootless users too who have an unlocked bootloader and TWRP installed
  • v7.0 - Added a slight delay in command execution to support Treble OOS; shifted the script to /system/etc/init
99callrecord
  • v1.0 - Initial release
  • v2.0 - Reduced the script execution delay from 2 minutes post boot to 10 seconds post boot
  • v2.1 - Slightly increased the script execution delay from 10 seconds post boot to 30 seconds post boot to fix issues some users reported
EnableOOSNativeCallRecording Prf Xml
  • v1.0 - Initial release

OP Update Information
Created: July 10, 2017
Last Updated: July 13, 2018
The Following 50 Users Say Thank You to shadowstep For This Useful Post: [ View ] Gift shadowstep Ad-Free
 
 
10th July 2017, 07:17 AM |#2  
Member
Thanks Meter: 16
 
More
Tried it on my OOS 4.5.5 stock. Works flawlessly!
11th July 2017, 04:29 PM |#3  
Senior Member
Flag Helsinki
Thanks Meter: 765
 
More
Simple word: COOL!

Sent from my OnePlus5 using XDA Labs
13th July 2017, 04:32 AM |#4  
MrWilsonxD's Avatar
Senior Member
Flag San Jacinto
Thanks Meter: 480
 
More
Works great for me. I've been played by these customer service representativeslately. No more. I'm recording all their bs so I can play it right back to them when they try to act like "Who said that?". Thank you! 😁

Sent from my OnePlus 5 using XDA Labs
The Following 2 Users Say Thank You to MrWilsonxD For This Useful Post: [ View ] Gift MrWilsonxD Ad-Free
14th July 2017, 08:08 AM |#5  
Senior Member
Flag Bojonegoro
Thanks Meter: 29
 
More
Thanks
14th July 2017, 09:20 AM |#6  
djsubterrain's Avatar
Senior Member
Flag Livingston
Thanks Meter: 2,713
 
More
You know you're supposed to tell the other party that the call is being recorded? That's why every support line you ever call will warn you that "Calls may be recorded". It's a legal requirement.
14th July 2017, 09:31 AM |#7  
Senior Member
Thanks Meter: 124
 
More
Quote:
Originally Posted by djsubterrain

You know you're supposed to tell the other party that the call is being recorded? That's why every support line you ever call will warn you that "Calls may be recorded". It's a legal requirement.

It's probably true in UK that you need to warn if the phone call is recorded. In some other countries it might be completely illegal to record phone calls. But at least in Finland you may record every phone call if you are a participant in that conversation without warnings or notifications.
The Following User Says Thank You to Squabl For This Useful Post: [ View ] Gift Squabl Ad-Free
14th July 2017, 10:07 AM |#8  
Senior Member
Flag Nottingham
Thanks Meter: 21
 
More
Working on FreedomOS - thanks!
14th July 2017, 02:15 PM |#9  
Senior Member
Thanks Meter: 67
 
More
Awesome! Can we perhaps enable this using adb shell commands when not rooted somehow?
14th July 2017, 02:54 PM |#10  
Flint2's Avatar
Senior Member
Flag Buenos Aires
Thanks Meter: 746
 
Donate to Me
More
Thanks, I had to disable battery optimization for the app option 1 in order to be runned at boot.

Sent from my OnePlus 5 using XDA Labs
14th July 2017, 03:33 PM |#11  
shadowstep's Avatar
OP Senior Member
Flag Ambala, HR
Thanks Meter: 2,338
 
Donate to Me
More
Quote:
Originally Posted by Flint2

Thanks, I had to disable battery optimization for the app option 1 in order to be runned at boot.

Instead of doing that, go to Settings -> Battery -> Battery optimisation -> Three dot menu (⋮) -> Advanced optimisation -> Turn off. That should help. Try it after adding the app back to the battery optimized list.
Post Reply Subscribe to Thread

Tags
apk, call, phone, record, recording

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes