69687d0acf
Protocol and relay groundwork for typing indicators and 1:1 calls. - ContentHint.EPHEMERAL: delivered only to an online recipient, never queued or pushed; the sender gets Receipt.STATUS_DROPPED otherwise. - ContentHint.CALL: a call offer is queued like a normal message, but an offline recipient is woken immediately — a PushKit VoIP push on iOS (priority 10, 45 s expiry) or a short-lived FCM data message on Android. The relay learns that a device is being called, not by whom. - RegisterPush.voip_token stores the iOS VoIP token next to the regular APNs token (migration 0004). - TurnRequest/TurnCredentials: logged-in devices receive time-limited coturn credentials (use-auth-secret REST scheme, HMAC-SHA1), so the TURN server is never an open relay. Configured with SEPOT_TURN_URLS and SEPOT_TURN_SECRET or SEPOT_TURN_SECRET_FILE; without them calls fall back to direct connections and STUN.
5 lines
249 B
SQL
5 lines
249 B
SQL
-- iOS PushKit token pro příchozí hovory. Vedle běžného tokenu, ne místo něj:
|
|
-- VoIP push smí nést jen hovor (iOS jinak appce VoIP pushe zastaví), zprávy
|
|
-- dál budí běžný APNs.
|
|
ALTER TABLE push_tokens ADD COLUMN voip_token BYTEA;
|