What Alaznah is — real-time experiences for React Native, starting with calling.
Introduction
Alaznah is the SDK for real-time experiences in React Native.
Today that starts with Alaznah Calling (@alaznah/calling): production 1:1 voice and video calls. The platform is built so your product can grow beyond calling — chat, live streaming, and other real-time features over time — without changing how you think about Client, Sessions, and Hosted Signaling.
What you get today
| Layer | What it does |
|---|---|
| Client | Connects a userId to signaling, places and answers calls, controls media |
| UI kit | Ready screens for ringing, incoming, and active voice/video |
| Hooks | React bindings (useCall, useIncomingCall, …) for custom UI |
| Push wake | Ring when the app is backgrounded or killed (with console + OS setup) |
| Hosted Signaling | Default managed path — no signaling servers to run |
Core concepts
- Client — created via
CallingProvider/createCallingClient. Owns connection, calls, and events. - Call — an
ActiveCallwith state (ringing,connecting,connected, …), media type (audio|video), and local/remote streams. - Events —
ready,call:incoming,call:updated,call:ended,quality:updated,waking:for-call, and more. - UI —
CallingScreen(all-in-one),CallingUI(state router), or composeIncomingCallScreen/ActiveCallScreenyourself. - Auth token — short-lived credential minted by your backend. Never embed API secrets in the app.
Default integration path
- Install
@alaznah/callingand rebuild the native app - Create a project in the Developer Console
- Mint tokens from your backend
- Wrap the app in
CallingProviderand mountCallingScreen(or custom UI) - (Optional) Add push credentials for background / killed ringing
Most apps should use Hosted Signaling (wss://signal.alaznah.com). Self-hosting is an advanced override.
Platform support
- React Native CLI apps
- Expo development builds (config plugin available)
Expo Go is not supported — native modules must be compiled into your binary.
Next steps
| Goal | Page |
|---|---|
| Install the package | Installation |
| First call end-to-end | Quick Start |
Tokens & userId | Authentication |
| Voice / video guides | Voice Calls · Video Calls |
| Answer UX & push | Incoming Calls |