Alaznah

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:

tsx
<CallingScreen userId={myId} defaultPeerId="bob" />

Dial as audio from your own UI:

ts
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
  • Acceptswipe up on the green control (tap does not accept)
ts
await client.accept(callId);
await client.reject(callId, 'declined');

In-call controls

ts
await client.setMuted(true);
await client.setSpeaker(true);
await client.end();
MethodPurpose
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:

ts
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)