I'm developing a mobile application in Java on Android Studio with various functions and features. One of these enables a user to call another user in the app and have a one-to-one/app-to-app voice-only conversation (using only a username to call).
I saw that Android already has a Telecom framework and a SIP framework for such functionalities that I could use.
After additional research on VoIP, SIP, webRTC, etc., I also found that I can specifically develop a solution that will either :
- Integrate a 3rd Party API like Twilio Client. (However, this is not an optimal solution, as I would like to rely on open source).
- Implement a SIP server like Asterisk and use a SIP client like Jami or Limephone
- Use webRTC combined with a signaling server
Currently, webRTC sounds like the most interesting approach, and it would enable me down the line to add video and other functionalities. The issue here is that there really doesn't seem to be much support and resources for webRTC development on Android.
I'm also not yet fully clear on whether the client-server model (2nd solution) would be easier to implement and more suited to this type of feature than webRTC.
Essentially, I'm looking to get a better understanding of these specific opensource solutions, and their particular technical and implementation aspects in relation to the development of an Android application.