RFC: VoIP calls helper (CallKit + PushKit + Telecom)#545
Closed
MiloszFilimowski wants to merge 1 commit into
Closed
RFC: VoIP calls helper (CallKit + PushKit + Telecom)#545MiloszFilimowski wants to merge 1 commit into
MiloszFilimowski wants to merge 1 commit into
Conversation
Design document for SDK-level VoIP helpers: incoming-call CallKit + PushKit on iOS, self-managed Telecom on Android, and a hook-based JS surface in mobile-client. Covers the boilerplate problem, competitive analysis, platform constraints, proposed architecture (submodule native layer + mobile-client JS/plugin split), end-to-end flows, alternatives, and open questions for team review. No implementation. Note: placed under rfc/ rather than docs/ because docs/ is the gitignored typedoc output directory. https://claude.ai/code/session_01QNA4UXaENCny9zSbusX2DH
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Design document (
rfc/voip-calls.md) for SDK-level VoIP call helpers — no implementation in this PR, this is for team discussion.Why
Apps integrating Fishjam for VoIP calls currently hand-write ~800 lines of native plumbing (reference: InstaWork's
integration/fishjambranch): iOS CallKit provider + PushKit delegate + manualRTCAudioSessionhandling, a full custom Android incoming-call notification/activity stack (with no Telecom integration at all), and a JS call-state layer. The SDK today only ships outgoing-call iOS CallKit.Contents
react-native-callkeepcore-telecom, Android 14 FGS types + full-screen-intent restrictions, cold startfishjam-react-native-webrtcsubmodule (extendingCallKitManager), static JS API + hooks + Expo plugin inpackages/mobile-client, versioned push payload schema, full TS surfaceDecisions already baked in (made by @miloszfil): extend the existing CallKit integration (no new package), Android push via forwarding API (app keeps its FCM handler), app-controlled room join on accept (no peer tokens in push payloads).
Note: the doc lives under
rfc/rather thandocs/becausedocs/is the gitignored typedoc output directory.https://claude.ai/code/session_01QNA4UXaENCny9zSbusX2DH
Generated by Claude Code