- Answers calls automatically with custom greeting audio.
- Offers to limit single message duration to prevent one caller from hoggin the phone line.
- Country code whitelisting - to prevent calls from other countries being automatically answered and costing you money
- Saving recorded messages on SD card or Internal storage and even in app's private directory in
/datapartition - Can upload messages to a self-hosted WetRadio instance.
If you desire the app to include contact name in file names of recorded messages, please manually grant contacts permission in settings.
Warning:
This has only been tested on Xiaomi Redmi Note 8T running LineageOS 23.2 (Android 16)
It may or may not work on other devices/ROMs.
| Codec | Containers | File extension |
|---|---|---|
| Opus | ogg, mp4, webm | .ogg, .m4a, .wemb |
| AAC-LC | mp4, adts | .m4a, .aac |
| HE-AAC v2 | mp4, adts | .m4a, .aac |
| AMR Wideband | amr, 3gpp | .amr, .3gpp |
| AMR Narrowband | amr, 3gpp | .amr, .3gpp |
The app itself can be compiled using Android Studio just like any other
android application. It can also be compiled with Gradle from command line:
./gradlew :app:buildWhen you're done compiling move the apk from app/build/outputs/apk/debug/ to MagiskModule/system/priv-app/CallMachine/
and rename it to CallMachine.apk.
Now go to MagiskModule/ and ZIP META-INF, system and module.prop together.
Make sure not to create a parent directory inside the ZIP archive. These three
items should be in the root of the ZIP file, otherwise Magisk is going to
reject the module.
Note: Binary files inside
MagiskModule/system/binwere obtained from here.


