Open In App

How Voice And Video Call Works in Android?

Last Updated : 25 Aug, 2021
Like Article

Voice over Internet Protocol (VoIP) is a common technology for voice and video communication over the internet. This Geeks for Geeks article will go through how voice and video calls function on a high level. We all utilize audio and video on services such as WhatsApp, Skype, Messenger, Facebook, and so on.

Essentially, both voice and video calls are dependent on how we transmit material between two clients that are linked to each other. As a result, there must be something capable of media streaming from one client to another. WebRTC is a free and open project that delivers Real-Time Communications (RTC) features to browsers and mobile applications via simple APIs. The WebRTC components have been tuned to suit this function to the greatest extent possible. However, there are many more things that must be done because WebRTC alone would not enough for full deployment.

Other Items to Consider Are:

  1. Signaling
  2. STUN Server
  3. TURN Server


What Exactly is Signaling?

To establish a call between two clients, each must conform to the other by exchanging crucial data, messages, and media metadata. We do these things through over-signaling.

GeekTip: Signaling may be accomplished via WebSocket.

It is just used to indicate that these two clients want to connect for the call.

Peer-to-Peer Communication

Following signaling, we must link both the client peer to peer. And we’ll need the public IP addresses of both clients to join. So, we utilize the STUN Server to obtain the public IP address. STUN Server is used to obtain the public IP address.

Why is a Public IP Address Required?

A public IP address is an Internet address that is globally unique. A public IP address can only be assigned to one device. A private IP address is one that is not globally unique and can reside on many devices at the same time. A private IP address is never linked to the Internet directly. Devices with a private IP address will have their own IP space (e.g. different companies or domains).

The NAT (Network Address Translation) gives the device’s local IP address, which cannot be used publicly to join peers. In order to use WebRTC, we must have a public IP address. STUN Server is capable of doing so.

If everything is in order, we obtain the public IP addresses of both clients and then link both clients through WebRTC to begin the connection. WebRTC can handle any type of media.

If we are unable to obtain the public IP addresses of both clients. Then we won’t be able to connect peer to peer. In that situation, the TURN server is required.

TURN Server

TURN Server is used as a mediator to link both clients if peer-to-peer fails. Essentially, it takes data from one client and transmits it to another. So its role is to convey information from the media.

As a result, the two clients begin to converse with one another. Other minor data that is not connected to media, such as a client cutting the call, setting changes, messages, and so on, are delivered through the signaling process. The following thought occurs to us.

Why Can’t WebRTC Do Signaling?

Answer: In order to reduce redundancy and promote compatibility with existing technologies, the WebRTC Standards do not specify signaling techniques or protocols. WebRTC is designed with media in mind. As a result, the voice and video calls function properly.


Voice over Internet Protocol (VoIP) is a technology that enables you to make voice calls via a broadband Internet connection rather than a traditional (or analog) phone line. Some VoIP services may only enable you to contact other VoIP users, whilst others may allow you to call anybody with a phone number, including local, long-distance, mobile, and international lines. Furthermore, while some VoIP services require you to utilize a computer or a specific VoIP phone, others enable you to use a regular phone linked to a VoIP adaptor.

Similar Reads

Voice Based Android Mail System for Visually Impaired
A voice dependent email system is an android solution which allows the user to send and receive emails without using any visual features, which means everything can be done by voice commands. This application is designed and engineered especially for people with visual disabilities. According to a survey, around 250 million and more visually challe
4 min read
How to Build a Simple Voice Typer App in Android using Java?
Pre-requisites: Android App Development Fundamentals for BeginnersGuide to Install and Set up Android StudioHow to Create/Start a New Project in Android Studio?Running your first Android appSpinner in AndroidRecognizerIntent in Android In this article, we are going to build a simple Voice Typer app in Android using Java. This is a glimpse of the ap
5 min read
WhatsApp for Android: Soon To Convert Voice Messages Into Text
For many WhatsApp users, voice messages offer a convenient way to communicate. However, listening to lengthy voice notes can be inconvenient in situations where playing audio isn't ideal. This is where voice message transcription comes in. WhatsApp's testing of this feature for Android is a welcome development, promising to improve communication ef
4 min read
How to Make a Phone Call From an Android Application?
In this article, you will make a basic android application that can be used to call some numbers through your android application. You can do so with the help of Intent with action as ACTION_CALL. Basically Intent is a simple message object that is used to communicate between android components such as activities, content providers, broadcast recei
4 min read
How to Add Memes Using API Call in Android?
Application Programming Interface calling is the process of making requests to external web-based services to retrieve or manipulate data. APIs provide a standardized way for different software applications to communicate with each other. It involves sending a request from one application to another over the internet using a specific set of rules a
4 min read
How to Make an Motivational Quotes App in Android using API Call?
In this article, we will see the process of building a Motivational Quotes App for Android that fetches random quotes from an API and displays them to the user. By the end of this article, we will have a Complete Android application that connects to an API, retrieves motivational quotes and author names, and allows users to navigate through them wi
5 min read
How to Make a Joke App in Android Using API Call?
Jokes are the best way to keep the face smiling. With the power of technology, we can create apps that provide instant access to a broad Category(i.e. animal, money, career, dev etc ) of jokes at any time. In this article, we will create a Joke App in Android that uses API calls to fetch jokes from an external data source. The Jokes Api is Free of
7 min read
How to Call a Method After a Delay in Android?
A Handler in Android is used to handle and manage runnable objects. The handler class handles the execution of triggers. Handlers are used to manage tasks in the background. A Handler can also be used to generate a delay before executing a function with the help of a post-delay function. Note: that we are going to implement this project using the K
3 min read
15 Best Call Recording Apps for Android in 2024
In 2024, the demand for reliable call recording apps on Android devices has surged, as individuals and businesses alike seek to capture important conversations for compliance, training, or personal record-keeping. With an array of options available on the market, selecting the best app that offers high-quality recordings, user-friendly interfaces,
9 min read
How Garbage Collector Works in Android?
First of all garbage pickup on the Dalvik Virtual Machine is often much more relaxed than other Java implementations because it does no compacting. this suggests that the address of objects on the heap never change after their creation, making the remainder of the VM implementation quite a bit simpler. So, Garbage Collector is often given the task
5 min read
Article Tags :