jamie prince 899e778e49 Wear SIP: stable inbound calls (ring/answer/hangup) + README
- NAT-survival account settings (sipnat=outbound;natpinhole=yes) so INVITE
  replies are not dropped (was going straight to voicemail).
- Native event_handler emits 'incoming call' (BEVENT_SIPSESS_CONN) carrying
  the SIP msg pointer and 'call incoming' (BEVENT_CALL_INCOMING) carrying the
  real struct call*; passes ua/call as separate jlong args (no lossy string
  parse). uaEvent(String, Long, Long) signature updated.
- Answer flow: ua_accept on 'incoming call' (caller hears ringing) then
  ua_answer deferred to the baresip main loop via a one-shot timer
  (ua_answer_async) so the UI-thread Answer tap does not crash in sip_treplyf.
- FGS started from Application.onCreate (decoupled from Activity) holding
  WifiLock + WakeLock so SIP survives screen-off / task removal.
- Ring: vibration + screen wake + high-priority full-screen-intent
  notification; stopRinging() on established/closed + 30s watchdog so the
  ring never loops forever on remote hang-up.
- Lock-screen presentation: manifest showWhenLocked/turnScreenOn +
  USE_FULL_SCREEN_INTENT permission + InCallScreen launch. (Still unreliable
  when fully asleep + backgrounded — tracked in README.)
- wear/README.md: project overview, how answering works, build/install,
  known gaps, and roadmap (SIP MESSAGE, contacts, start-at-boot, UI).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-21 01:58:56 +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%