GitHunt
DE

DevAlves1993/android-app

๐Ÿ“ฑ Android app providing โšก REST API for call management - companion to SMSGate app ๐Ÿ”€

๐Ÿ“ž CallGate

Apache License

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

โœ… 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

  1. Install the APK on your Android device
  2. Start the server by tapping the "Offline" button
  3. Ensure the icon appears in the status bar
  4. Open Settings โ†’ Server to view default credentials

๐Ÿ› ๏ธ Usage

API Endpoints

Base URL: http://<device-ip>:8084/api/v1

Start a Call

POST /calls

Request:

curl -X POST \
  -H "Content-Type: application/json" \
  -u username:password \
  -d '{"call": {"phoneNumber": "123456789"}}' \
  http://device-ip:8084/api/v1/calls

Response:

  • 200 OK: Call initiated successfully
  • 400 Bad Request: Invalid request
  • 401 Unauthorized: Invalid credentials
  • 500 Internal Server Error: Call failed

End Active Call

DELETE /calls

Request:

curl -X DELETE \
  -u username:password \
  http://device-ip:8084/api/v1/calls

Response:

  • 204 No Content: Call terminated
  • 404 Not Found: No ringing or active call
  • 500 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

โš ๏ธ Experimental Version - API may change without notice
Current focus areas:

  • Improved call state management
  • Enhanced error handling
  • Enhanced Android versions compatibility

๐Ÿค Contributing

We welcome contributions! Please:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“œ License

Distributed under the Apache 2.0 License. See LICENSE for details.