Place and control 1:1 audio calls with Alaznah Calling.
Voice Calls
Start a 1:1 audio call with mediaType: 'audio' (the default when omitted).
Start a call
With the built-in screen:
<CallingScreen userId={myId} defaultPeerId="bob" />Dial as audio from your own UI:
const call = await client.startCall({
calleeId: 'bob',
mediaType: 'audio',
});Accept / decline
Inbound voice calls use the same Incoming Calls flow:
- Decline — tap the red control
- Accept — swipe up on the green control (tap does not accept)
await client.accept(callId);
await client.reject(callId, 'declined');In-call controls
await client.setMuted(true);
await client.setSpeaker(true);
await client.end();| Method | Purpose |
|---|---|
setMuted(muted) | Mute / unmute local mic |
setSpeaker(enabled) | Route audio to speaker |
end(callId?) | Hang up |
Built-in ActiveCallScreen / CallControls expose these for you when using CallingScreen or CallingUI.
Permissions
Request microphone access before dialing:
await requestCallPermissions({ video: false });Platform strings and manifests: Permissions.
UI notes (voice)
- Incoming accept control uses a flipped handset icon inside a green pulse / ripple animation
- Active voice UI focuses on avatar + audio controls (no local camera preview)