Alaznah

Microphone, camera, and notification permissions for Alaznah Calling.

Permissions

Request runtime permissions before placing or accepting calls.

ts
import { requestCallPermissions } from '@alaznah/calling';

await requestCallPermissions({ video: false }); // voice
await requestCallPermissions({ video: true });  // video

iOS (Info.plist)

KeyWhen
NSMicrophoneUsageDescriptionAlways for calls
NSCameraUsageDescriptionVideo calls
Background Modes → AudioKeep audio in background
Background Modes → Voice over IPVoIP / PushKit wake

Also enable Push Notifications + (for CallKit wake) the PushKit / VoIP entitlement as required by your Apple setup — see Push Notifications.

Android (AndroidManifest.xml)

PermissionWhen
INTERNETAlways
RECORD_AUDIOAlways for calls
CAMERAVideo
POST_NOTIFICATIONSAPI 33+ notifications
BLUETOOTH_CONNECTHeadset routing on newer APIs (as needed)
Full-screen intent / phone accountNative incoming UI (demo app shows a reference)

Exact native incoming components are demonstrated in examples/basic-call.

Expo

Expo Go is not supported. Use a development build with the @alaznah/calling config plugin — Installation.

Checklist

  1. Add plist / manifest entries
  2. Rebuild native app
  3. Call requestCallPermissions before first call
  4. Re-check after OS permission revoke