- Native: add message_send() JNI (Api.message_send) and wire the
existing message_listen receive callback (message_handler) to forward
inbound MESSAGEs to WearBaresipService.messageEvent.
- Kotlin: WearBaresipServiceHelper.sendMessage (normalizes peer ->
sip:peer@mail.txt3.net), MessageStore (JSON file persistence, no extra
deps), messageEvent stores + posts a CATEGORY_MESSAGE notification.
- UI: MessagesScreen (conversation list) + ConversationScreen (thread +
send field), reached via a new 'Messages' button on the dialer.
- README roadmap: mark SIP MESSAGE done; reword encryption plan to
asymmetric E2E over SIP MESSAGE with NFC key exchange (OMEMO is
XMPP-only and does not apply to SIP).
Verified: builds, app starts, registers over TLS, no crash. Live
two-endpoint exchange still to be tested with a real peer.