Alaznah

Provider, CallingScreen, CallingUI, and shared UI props.

Props

CallingProvider

tsx
import { CallingProvider } from '@alaznah/calling';

<CallingProvider config={config} autoConnect>
  {children}
</CallingProvider>
PropTypeRequiredDefaultDescription
configCallingClientConfigYesUser id, token getter, optional signaling override
autoConnectbooleanNotrueConnect when mounted
childrenReactNodeYesYour screens

config (CallingClientConfig)

PropTypeRequiredDefaultDescription
userIdstringYesLogged-in user id (must match token)
getAuthToken() => string | Promise<string>YesShort-lived token from your backend
signalingUrlstringNoHosted defaultOverride; omit for Hosted Signaling
deviceIdstringNoautoUnique device id
ringTimeoutMsnumberNo60000Auto-drop if unanswered
facingMode'user' | 'environment'No'user'Default camera
iceServersIceServerConfig[]Nofrom signalingStatic ICE override
iceTransportPolicy'all' | 'relay'No'all'Force TURN with 'relay'
enableCallKeepbooleanNoOptional second CallKit path; prefer false on iOS
entitlementProviderEntitlementProviderNodev trialPaid feature session
logger{ debug?, info?, warn?, error? }NoOptional log hooks

CallingScreen

tsx
<CallingScreen
  userId={currentUser.id}
  defaultPeerId="friend-id"
  pushToken={devicePushToken}
  pushPlatform="android"
  onLogout={signOut}
  onError={(e) => Alert.alert('Call error', e.message)}
/>
PropTypeRequiredDescription
userIdstringYesSame as config.userId
defaultPeerIdstringNoPrefills who to call
pushTokenstring | nullNoRegisters for incoming wake
pushPlatform'ios' | 'android'NoPlatform for push registration
onLogout() => voidNoOptional logout handler
onError(error: Error) => voidNoError callback

Additional visual props (theme, backgroundColor, backgroundImage, slots) may be available depending on version — see package typings and Customization.


CallingUI

State router for incoming + active screens (bring your own dialer).

PropTypeRequiredDescription
clientCallingClientYesFrom useCallingClient()
themePartial<CallingTheme>NoColors / spacing
backgroundColorstringNoCall screen background
backgroundImageImageSourcePropTypeNoOptional backdrop
slotsCallingUISlotsNoSwap avatar / header / controls
renderIncomingScreenfnNoCustom incoming UI
renderActiveCallScreenfnNoCustom in-call UI
onError(error: Error) => voidNoError callback

Slots (typical)

SlotPurpose
renderHeaderPeer name / title area
renderStatusSubtitle / call state line
renderAvatarAvatar replacement
renderControlsReplace default control row

Video view props

LocalVideoView / RemoteVideoView / VideoView:

PropDescription
streamMediaStreamLike from the call
mirrorMirror local preview
objectFit'cover' | 'contain'
styleRN view style
zOrderAndroid z-order hint

See UI Components and Call UI.