DevAlves1993/android-app
๐ฑ Android app providing โก REST API for call management - companion to SMSGate app ๐
๐ CallGate
Call Management API for Android
CallGate provides programmatic control of phone calls through a REST API, specifically designed for automation scenarios requiring basic call management without voice interaction.
โ ๏ธ No Audio Handling - This app only manages call initiation/termination, does NOT handle voice playback or recording
๐ Features
- ๐ฒ Start/stop calls via HTTP requests
- ๐ Basic authentication protection
- ๐ถ Local server operation (no internet required)
- ๐ ๏ธ Simple JSON API structure
๐ Related Projects
โ
SMSGate - Companion project for SMS management: https://sms-gate.app/
Manage text messages through a similar API-driven approach.
๐ Getting Started
Prerequisites
- Android device with SIM card
- Network access to the device
Setup
- Install the APK on your Android device
- Start the server by tapping the "Offline" button
- Ensure the icon appears in the status bar
- Open Settings โ Server to view default credentials
๐ ๏ธ Usage
API Endpoints
Base URL: http://<device-ip>:8084/api/v1
Start a Call
POST /callsRequest:
curl -X POST \
-H "Content-Type: application/json" \
-u username:password \
-d '{"call": {"phoneNumber": "123456789"}}' \
http://device-ip:8084/api/v1/callsResponse:
200 OK: Call initiated successfully400 Bad Request: Invalid request401 Unauthorized: Invalid credentials500 Internal Server Error: Call failed
End Active Call
DELETE /callsRequest:
curl -X DELETE \
-u username:password \
http://device-ip:8084/api/v1/callsResponse:
204 No Content: Call terminated404 Not Found: No ringing or active call500 Internal Server Error: Termination error
๐ Important Notes
- Call Limitations: Only manages call initiation/termination - no voice capabilities
- Security Recommendations:
- Rotate credentials regularly
- Restrict to trusted networks
- Consider encryption for remote access
๐ Project Status
Active Development
Current focus areas:
- Improved call state management
- Enhanced error handling
- Enhanced Android versions compatibility
๐ค Contributing
We welcome contributions! Please:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
๐ License
Distributed under the Apache 2.0 License. See LICENSE for details.