appName | string | app display name | Android PhoneAccount label. iOS uses the app’s own name (OS constraint) |
supportsVideo | boolean | true | Advertise video support |
maximumCalls | number | 1 | Max simultaneous calls per group |
handleType | generic | phoneNumber | emailAddress | generic | CallKit handle type |
ringtoneName | string | system default | iOS: a bundled sound file. Android: a raw resource name (fallback path) |
iconName | string | — | iOS: template image asset. Android: notification small-icon drawable |
accentColorHex | string | — | Android full-screen UI accent |
androidFullScreenFallback | boolean | true | Ring via full-screen intent when Telecom is unavailable |
androidForceFullScreen | boolean | false | Always use the full-screen path (skip Telecom) |
androidChannelName | string | Incoming calls | Notification channel name |
androidPendingActionTtlMs | number | 60000 | Max age (ms) of a cold-start answer/decline flushed on register(); older actions are dropped. 0 disables |
manageCallAudio | boolean | true | Own the in-call audio session (fixes the WKWebView dead-mic bug) — see In-call audio |
callAudioMode | manage | observe | manage | observe emits the audio events but leaves the session to your media SDK |
payloadPreset | raw | onesignal | raw | onesignal unwraps the custom.a envelope |
payloadKeys | object | — | Dot-path overrides for callId/handle/hasVideo/chatId/avatarUrl/type |
cancelType | string | cancel | A push whose type equals this dismisses a ringing call (see below) |