VoxaRTC
Documentation menu
Documentation

Integrate VoxaRTC

VoxaRTC is a Flutter package that implements the agora_rtc_engine API against a VoxaRTC endpoint. You change a dependency, an import and one line of configuration; your call sites, event handlers and token server stay as they are.

The mental model

Everything your app already does with Agora keeps working because the package is the Agora API — the same classes, signatures, enums and error codes, mirroring agora_rtc_engine 6.6.3. There is exactly one non-Agora line in a migrated app: VoxaRtc.serverUrl, pointing at your VoxaRTC endpoint.

When you call joinChannel, the SDK presents your Agora-format token to that endpoint, which verifies it against your app certificate and returns a short-lived credential for the media session. Your app then streams directly to the media server — the endpoint is not in the media path.

What you provide

PieceWhat it isChanges needed
voxa_rtc_engineFlutter package from pub.dev, the Agora API surfaceSwap the dependency and the import
Your token serverWhatever already mints your Agora tokensPoint it at your VoxaRTC App ID and certificate — or import the Agora ones you already use, and change nothing
VoxaRTC endpointThe service your app connects toOne line: VoxaRtc.serverUrl

What is and is not ready

Tier-1 and Tier-2 APIs — channel lifecycle, roles, mute, camera, routing, rendering, reconnection, token renewal, volume indication, encoder configuration, dual-stream, screen share, preview and stats — are implemented and verified against golden transcripts recorded from the live Agora service.

Media player, spatial audio, channel media relay, raw frame observers and RTM are not implemented. They throw AgoraRtcException(-4, errNotSupported) rather than failing silently, so an app that depends on them fails loudly at the call site. See API compatibility for the full matrix.