HomeiOS DevelopmentTwilio Voice iOS SDK: `callInvite is lacking` when accepting incoming name from...

Twilio Voice iOS SDK: `callInvite is lacking` when accepting incoming name from CallKit or React Native


I am integrating Twilio Voice (v6.12.1) into my React Native app (utilizing Swift bridging for iOS) and have applied full VoIP, PushKit, and CallKit help for incoming calls.


✅ What works:

  • Incoming calls set off the VoIP push and show the full-screen CallKit interface (or fallback UI).
  • Decline Name works as anticipated.
  • Name logs and occasions print appropriately.

❌ Drawback:

When I attempt to settle for the decision utilizing the CallKit Settle for button or React Native fallback UI, I constantly get:

❌ [TwilioVoiceModule] answerCall() callInvite is lacking

I additionally seen that the console logs for answerCall() are being printed thrice in a row, although the settle for button is barely pressed as soon as.


🔍 Observations:

  • The callInvite is correctly obtained when the VoIP push arrives.
  • However when answerCall() is triggered, callInvite turns into nil.
  • This occurs in CallKit settle for, RN UI settle for, and even notification banner settle for.

📦 The way it’s arrange (summarized):

1. PushKit Registration – through PKPushRegistry in AppDelegate.swift

2. VoIP push dealing with – forwards payload to TwilioVoiceModule.handleIncomingPush()

3. CallKit integration – makes use of CXProviderDelegate to report and deal with settle for actions

4. JS Bridge – emits acceptCallAction to JS

5. React Native calls TwilioVoiceModule.answerCall(uuid, callSid)

6. In answerCall() methodology: self.callInvite is nil – so name can’t be accepted.

Attaching the hyperlink to view the related code: https://docs.google.com/doc/d/15pNjKrfk954OaotpMIEh3xQUtst—1K45DBXoYctGM/edit?usp=sharing


💡 Name Settle for Movement (iOS):

  1. VoIP Push → TwilioVoiceModule.handleIncomingPush()
  2. Twilio SDK creates callInvite
  3. reportNewIncomingCall() triggers CallKit UI
  4. On settle for: CXAnswerCallAction → emits occasion to JS
  5. RN calls TwilioVoiceModule.answerCall(uuid, callSid)
  6. Drawback: callInvite is already nil

❓ What I am making an attempt to grasp:

  • Why is callInvite lacking when accepting the decision, and the way can I be certain answerCall() is triggered solely as soon as?

💬 Any assist could be appreciated.


📱 Atmosphere:

  • React Native 0.78.x
  • iOS 17+
  • Swift bridging with TwilioVoiceModule.swift
  • Twilio Voice SDK 6.12.1
  • PushKit + CallKit + react-native-callkeep

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

- Advertisment -
Google search engine

Most Popular

Recent Comments