Everything you need for real-time apps
A complete communication backend — media, signaling, presence, and operations — behind one set of APIs.
Video & Audio Rooms
WebRTC rooms powered by a LiveKit SFU with simulcast and adaptive quality — from 1:1 calls to large multi-party sessions.
Signaling & Messaging
A versioned WebSocket protocol with heartbeats and session resume, so participants survive network blips without rejoining.
Presence
Real-time online/offline status, device awareness, and roster snapshots kept consistent across every connected client.
Push Notifications
Deliver call invites and missed-event alerts through FCM and APNs, with per-tenant templates and delivery tracking.
Recording & Moderation
Server-side room recording with lifecycle webhooks, plus moderation controls: mute, kick, ban, and role management.
Analytics & QoS
Client QoS telemetry (RTT, jitter, packet loss) streamed into per-room analytics so you can see call quality, not guess it.
Multi-tenant Auth & Billing
API keys and JWTs scoped per tenant, with usage metering and billing built in — one platform, many isolated customers.
Global Infrastructure
Kubernetes-native and multi-region, with Coturn TURN relays for NAT traversal and an event-driven Kafka backbone.
Build with your stack
First-class SDKs for the web and every major mobile platform, all speaking the same signaling protocol.
import { CommBaasClient } from '@comm-baas/client-sdk';
const client = new CommBaasClient({
baseUrl: 'https://api.ethioconnect.net/v1',
token: () => fetchAccessToken(),
});
const room = await client.joinRoom('room_standup', {
audio: true,
});
room.on('participantJoined', (p) => {
console.log(`${p.identity} joined`);
});Test the APIs in your browser
Every endpoint in the reference ships with an interactive “Try it” panel. Set your token, edit the request body, and send real calls to Auth, Room, Presence, Notification, Analytics, Billing, and TURN services — no client setup required.