twilio / voice-quickstart-android

Quickstart app for the Voice Android SDK
https://www.twilio.com/docs/api/voice-sdk/android/getting-started
MIT License
184 stars 140 forks source link

How to get inbound calls without using Firebase #515

Closed tylervanderhoef closed 2 years ago

tylervanderhoef commented 2 years ago

I'm in a situation where I'm trying to implement voice calling on an Android device that does not have Google Play Services/Firebase support. We have outbound calls working, but once we try to do inbound calls, this SDK has a requirement of using Firebase in order to get notifications of inbound calls.

My question is: is there a way to accept a phone call based only on something like the call SID? Or is it possible to generate the twi_bridge_token ourselves so we can authenticate correctly? We are hoping for a solution that would allow us to use a different push notification system to send notifications to our application.

The main thing I'm missing it seems is how the twi_bridge_token comes into play. I can get all the call information from when our call status endpoint is hit, but the bridge token seems to be unique to the push notification and to my knowledge no way to generate one.

Any help here would be appreciated because we don't have control over the OS and the install NEEDING Firebase support.

kbagchiGWC commented 2 years ago

Hi @tylervanderhoef

We had a similar issue discussed in https://github.com/twilio/voice-quickstart-android/issues/106. This was our suggestion for developers unable to use FCM.

For those not able to use FCM, Programmable Voice supports putting calls in a [queue](https://www.twilio.com/docs/voice/queue-calls). Once an incoming call is in a queue, you can connect an outbound call via TwiML to the named queue.

How the app or client is informed of the name associated with the queue is up to you.
tylervanderhoef commented 2 years ago

@kbagchiGWC Wow, I scoured the github issues here looking for this. I don't know how I missed it! Thanks for the quick update and we will explore this as our solution. Closing this since it is the suggested direction.