This Termux script places another normal phone call after the previous attempt ends unanswered. It stops when Android records a positive call duration, when the configured attempt limit is reached, or when you press Ctrl+C.
Only use it for a person who has agreed to this. Repeated unwanted calls can be harassment, can incur charges, and may trigger carrier spam protections.
- An Android phone with a SIM/eSIM capable of voice calls
- Termux and the matching Termux:API add-on. Install both from the same source (normally F-Droid or GitHub), not mixed sources.
- Phone and call-log permissions granted to Termux:API when Android asks
iPhone/iOS does not permit this kind of unattended redial loop.
Copy wake-her-up.sh onto the phone, then run:
pkg update
pkg install termux-api jq coreutils
chmod +x wake-her-up.shDisable battery optimization for both Termux and Termux:API. Keep Termux open while the script is running; newer Android versions or some manufacturers may otherwise prevent a later call screen from opening.
Use the full international (E.164) number:
./wake-her-up.sh --number +919876543210To change the limits:
./wake-her-up.sh \
--number +919876543210 \
--max-attempts 6 \
--delay 30The script deliberately allows at most 20 attempts and at least 6 seconds
between attempts. Its default delay is 10 seconds, and it asks for a typed
YES before the first call.
Android's call log exposes the outgoing call duration, not whether a particular human answered. A positive duration therefore means "the network connected." Voicemail, an automated attendant, or another person answering will also stop the script. The script checks only after the call ends; it never hangs up a connected call.
If the first call works but later calls do not, your Android version or phone manufacturer is blocking background activity launches. Keep Termux visible, allow background activity for Termux:API in the phone's app settings, and remove battery restrictions. This behavior is controlled by Android and varies by device.