Skip to content

API Reference — expo-callkit-telecom

Sessions

NameDescription
getActiveCallSessionGets the currently active call session, if any.
addCallSessionAddedListenerSubscribes to call session added events.
addCallSessionUpdatedListenerSubscribes to call session updated events.
addCallSessionRemovedListenerSubscribes to call session removed events.
CallSessionActive call as tracked by the module.
CallOptionsPer-call options set at session start.
CallSessionOriginWhere a call session originated.
CallParticipantIdentity for a remote party on a call.
CallSessionStatusCall session status representing the lifecycle of a call.
CallSessionAddedEventFired when a new CallSession is created (outgoing request or incoming report).
CallSessionUpdatedEventFired when an existing CallSession's state changes (status, mute, hold, etc.).
CallSessionRemovedEventFired when a CallSession is removed after the call has ended and been cleaned up.

Requests

FunctionDescription
startOutgoingCallStarts an outgoing call to the specified recipient.
answerCallAnswers an incoming call.
endCallEnds an active call.
setMutedChanges the mute state of a call.
setHeldChanges the hold state of a call.
playDTMFPlays DTMF tones during a call.

Reporters

FunctionDescription
reportIncomingCallReports an incoming call to the system.
reportOutgoingCallConnectedReports that an outgoing call's media connection is established.
reportCallEndedReports that a call has ended for an external reason.
reportVideoReports a video state change for a call.

Fulfillers

FunctionDescription
fulfillIncomingCallConnectedFulfills an incoming call by confirming the media connection is established.
failIncomingCallConnectedFails a pending incoming call connection request.

Call Events

NameDescription
addCallIntentReceivedListenerSubscribes to call intent received events.
addOutgoingCallStartedListenerSubscribes to outgoing call started events.
addIncomingCallReportedListenerSubscribes to incoming call reported events.
addCallAnsweredListenerSubscribes to call answered events.
addCallEndedListenerSubscribes to call ended events.
addReportedCallEndedListenerSubscribes to reported call ended events.
addSetMutedActionListenerSubscribes to set muted action events.
addVideoChangedListenerSubscribes to video state change events.
addSetHeldActionListenerSubscribes to set held action events.
addDTMFListenerSubscribes to DTMF events.
CallActionEventBase shape for any event carrying a CallSession.id.
OutgoingCallStartedEventFired after startOutgoingCall, once the OS has accepted the call request.
IncomingCallReportedEventFired after reportIncomingCall, once the OS has accepted the incoming-call report.
CallAnsweredEventFired when the user answers an incoming call from the system UI.
CallEndedEventFired when the user ends a call from the system UI, or the OS ends the call for any reason.
CallEndedReasonReason a call was ended, reported on CallReportedEnded.
CallReportedEndedFired when the app calls reportCallEnded to inform the OS the call has ended externally (e.g. remote hang-up).
SetMutedActionEventFired when the system requests a mute-state change (e.g. user pressed the mute button in the CallKit UI). Apply the change to your media connection.
VideoChangedEventFired when video state changes on a call.
SetHeldActionEventFired when the system requests a hold-state change. Apply the change to your media connection.
DTMFEventFired when the system requests DTMF tones be played on the call.
CallIntentHandleTypeKind of handle attached to a call intent (Recents tap, Siri).
CallIntentReceivedEventFired when the OS routes a "start call" intent to the app — e.g. the user tapped a Recents entry or said "call Jane" to Siri.

Audio

NameDescription
getAudioSessionGets the current audio session state.
setRTCAudioSessionConfigurationSets the RTC audio session configuration (iOS only).
prepareAudioSessionForCallPrepares the audio session for an upcoming call.
restoreAudioSessionRestores the audio session to its pre-call configuration.
setAudioSessionPortOverrideSets the audio session port override.
AudioSessionSnapshot of the current audio session, including activation state, route, and (on iOS) the WebRTC RTCAudioSession coordination flags.
AudioRouteCurrently-selected audio inputs and outputs.
AudioPortA single audio input or output (earpiece, speaker, headphones, Bluetooth device, etc.).
AudioOutputPortTypeCross-platform audio output port type identifiers. Both iOS and Android map their native audio device types to these shared values.

Audio Events

NameDescription
addAudioSessionActivatedListenerSubscribes to audio session activated events.
addAudioSessionDeactivatedListenerSubscribes to audio session deactivated events.
addAudioRouteChangedListenerSubscribes to audio route changed events.
AudioSessionCallInfoBrief summary of one call associated with an audio-session activation event.
AudioSessionActivatedEventFired when the system activates the audio session for a call.
AudioSessionDeactivatedEventFired when the system deactivates the audio session after a call.
AudioRouteChangedEventFired when the active audio route changes (e.g. AirPods connected, speaker toggled).

Capture

NameDescription
getCaptureSessionGets the current capture session state.
CaptureSessionSnapshot of camera-related state, including permission and (on iOS 16+) multitasking-camera availability.

VoIP Push

NameDescription
registerVoIPPushRegisters for VoIP push notifications.
getVoIPPushTokenGets the current VoIP push token and its type.
addVoIPPushTokenUpdatedListenerSubscribes to VoIP token updated events.
PushTokenTypeType of VoIP push token reported by getVoIPPushToken.
IncomingCallEventPayload describing one incoming call.
VoIPPushTokenA VoIP push token bundled with its transport type.
VoIPPushTokenUpdatedEventFired when the VoIP push token is received, refreshed, or invalidated.

Hooks

FunctionDescription
useVoIPPushTokenHook that returns the current VoIP push token and subscribes to updates.

Permissions

Type AliasDescription
PermissionStatusPermission status for microphone and camera, reported on AudioSession and CaptureSession.

Core

InterfaceDescription
NativeEventMetaMetadata attached to every native event.
NativeEventBase shape extended by every native event — carries a NativeEventMeta envelope.

Released under the MIT License.