How can I make a server for voice calling application?

Hello, Newbie here.

I want to create an android application that can allow users to create their profile along with username that will be secret. And other user can enter the username of person they want to call and then a direct voice call from app will be placed.

There are services like sinch api. But I don’t really know how this concept works and it would be great if I can write a server or api like thing in elixir(phoenix). Please tell how this app should be built and which library/features to use.


Sorry for bad formatting and non-native english style :grin:

Hi, in short:

On the backend side you need two things:

  • a turn server
  • a server to handle signalling (XMPP, MQTT…)

On the client side you need:

  • WebRTC
  • a client for the signalling protocol you choosed

The signalling will not work when the callee is offline as it is not possible to have a permanent background connection on Android or iOS that the operating system will not kill. So your signalling server needs to send push messages via Google’s Firebase service to wake the callee up.

1 Like