jamie prince a31d6a693c Wear SIP: incoming call UI over lock screen via self-managed telecom
- Launch InCallActivity from WearConnectionService.onCreateIncomingConnection
  (self-managed telecom context) instead of a background FGS startActivity.
  This is the only path Android permits to show UI over a secure lock screen
  / from the background (BAL exemption); a plain FGS startActivity is blocked.
- Register a SELF_MANAGED PhoneAccount (CAPABILITY_SELF_MANAGED only; a
  self-managed account must not also be CALL_PROVIDER) and hand inbound calls
  to TelecomManager.addNewIncomingCall.
- Answer/Decline routed from the system self-managed Connection back to the
  native stack via WearBaresipServiceHelper (deferred ua_answer/ua_hangup).
- Add dedicated InCallActivity (setShowWhenLocked/turnScreenOn) hosting the
  InCallScreen; MainActivity no longer owns the call UI.
- Switch SIP transport to UDP:5761 (matches server); keep sipnat=outbound +
  natpinhole for NAT traversal.
- Remove dead phoneCall FGS upgrade/downgrade (needed DIALER role; the
  self-managed launch path replaces it).

Verified on Galaxy Watch (Android 16, SDK 36): inbound call rings + shows
InCallActivity over the lock screen (pattern lock on) with working two-way
audio; activity dismisses cleanly on hangup.
2026-08-21 03:15:22 +01:00
2026-08-18 19:41:17 +01:00
2021-09-09 09:07:24 +03:00
2026-08-06 13:52:03 +03:00
2026-08-18 10:34:15 +03:00
2023-01-30 04:26:12 +02:00
2018-10-22 17:56:14 +03:00
2026-08-05 15:56:44 +03:00

This is a bare-bones Android Studio project implementing baresip library based calling and messaging User Agent for Android. Its development is motivated by need for a secure, privacy focused User Agent that does not depend on third party push notification services.

Currently baresip supports SIP and mobile voice calls and messages. In addition, voice conference calls, voicemail Message Waiting Indication as well as blind and attended call transfers are available when SIP is used. MMS messaging is not supported yet.

In SIP calls audio can be coded with Opus, AMR, Codec2, G.729, G.722, G.722.1, or PCMU/PCMA codecs. Security is achieved via TLS or WSS SIP signaling transport and ZRTP or (DTLS) SRTP media encapsulation.

This application can be installed on Android devices running Android version 9 or later. Mobile calling and messaging requires Android version 10 or later.

If you need video calling and have a device that supports Camera2 API, you can instead of this application install its sister application baresip+ from the video branch.

After cloning the project, generate static libraries and include files to distribution directory using master branch of libbaresip-android.

Then in Android Studio (tested with Android Studio Quail 3):

  • Open an existing Android Studio project

  • File -> Invalidate Caches ... -> Invalidate & Restart

  • Build -> Generate Signed Bundle / APK ...

Ready to be installed baresip app is available from F-Droid, Play Store, and from GitHub. Signing certificate SHA-256 fingerprint of baresip and baresip+ APKs on GitHub is fecc79c20ab725b9b78bb16a75ba9a04092822cf52ba32e4a437170a68020602. Use apksigner verify --print-certs app-release.apk to verify.

Language translations are managed via baresip Weblate project.

Copyright (c) 2018 TutPro Inc. Distributed under BSD-3-Clause license.

Description
No description provided
Readme 9.7 MiB
Languages
Kotlin 93.9%
C 5.8%
CMake 0.3%