A conference calling app gets hard at the third person.
Two people on a call is a pipe between two phones. Three or more is a conference calling app, and nearly everything expensive about the category starts at that third person: who sends audio to whom, what mixes it, who pays for the minutes, and how a phone knows a call is waiting at all. The same step up happens in video chat apps, where it costs more bandwidth and gets noticed sooner.
This page covers what changes when a call goes from two people to six, how group audio is actually priced, and what iOS demands before an app is allowed to ring like a phone. It also covers what holds the room together: the code on the door, the host controls and the record of who was there.
See what the sixth person costsThe short version
Group audio is a routing problem, not a bigger phone call.
A two party call can go straight from one phone to the other. A six party call cannot, not without asking every phone to push five separate copies of its own audio uphill at once. Something in the middle has to take one stream from each person and hand out the rest, and that something is a server you rent or run.
The other half is getting the phone to ring. A notification saying a call is waiting is not the same thing as a call. The gap between those two is where most homemade calling apps quietly stop being useful.
What happens when the third person joins
With two people, each phone sends one audio stream and receives one. Add people and the arithmetic turns on you. In a mesh, every phone connects directly to every other phone. Each phone uploads to everyone else, and the number of connections grows as the number of people times one less than that, halved. Four people is six connections. Eight people is twenty eight.
Upload is the limit that bites first. Home and mobile connections download far faster than they upload. A phone pushing five copies of its own voice runs out of headroom long before it runs out of download. Audio is much kinder than video here, which is why audio conferencing survives room sizes that would sink a mesh video call.
The usual fix is a selective forwarding unit. Every phone uploads one stream to a server and downloads the others from it, so upload stays flat however many people join. Some bridges go further and mix everyone into a single stream, which costs the server more and leaves the phone almost nothing to do. Either way there is a machine in the middle, which is why a conference calling app is never just software on the two phones involved.
Try it
What each extra person costs you
Move the room size and two numbers move with it: how much every phone uploads, and how many minutes the call bills for.
5 streams up
What every phone uploads in a mesh, across 15 connections.
1 stream up
What every phone uploads through a forwarding server, at any room size.
270 minutes
Participant minutes for one call. A 10,000 minute free month covers about 37 of them.
Conference audio is priced by the person, not by the call
Real time audio providers almost all bill participant minutes rather than calls. Daily defines the unit plainly: a minute for each participant on a call, so the total is the number of participants multiplied by the length of the meeting. A six person call running forty five minutes is two hundred and seventy participant minutes, exactly the same as six separate forty five minute one to one calls.
The rates are small and the free tiers are real. Daily's audio only pricing starts with ten thousand free participant minutes a month, then runs from $0.00099 per participant minute down to $0.00036 as monthly volume climbs. Ten thousand minutes is roughly thirty seven of those six person, forty five minute calls. That is generous for an internal tool and close to nothing for a product with customers on it.
The design consequence is that room size, not call count, is the number to control. A scheduled call inside a client portal app has a known guest list and a known length, so the monthly arithmetic is doable before you write any code. An open room anyone can join and leave running is a bill you discover afterwards.
Making the phone ring is the operating system's business
A call that only arrives while the app is already open is not a call, it is a chat message with a timer on it. On iOS, the thing that makes an incoming call take over the screen, appear on the lock screen and land in the recent calls list is CallKit. Apple describes it as providing the calling interface while you handle the back end communication with your own VoIP service.
The trigger is a separate mechanism again. An incoming call arrives as a PushKit VoIP push, and CallKit presents the system answer screen in response to it. That is a different push type and a different entitlement from the ordinary notifications your app already sends. iOS also expects an app woken by a VoIP push to report the incoming call straight away, before doing anything else.
Check this against whichever tool you build with. Newly sends push through OneSignal, which is an ordinary server push and not a PushKit VoIP push. An app it generates can tell someone a call is starting, but it will not seize a locked screen the way the Phone app does. The person taps a notification and the app opens. For a scheduled meeting that is fine. For an unplanned call out of a customer service app, where somebody has to answer within thirty seconds, it is the whole difference.
Android has its own route through a connection service and call style notifications, with its own rules. Neither platform lets an app paint a convincing fake call screen and get away with it. Treat native call integration as separate work with its own review risk, not a checkbox on the screen you already drew.
The room is a record, not a button
Every conference calling app ends up needing the same unglamorous list. A room that exists before anybody joins. A way to identify people who have no account. A host who can mute someone, remove someone or lock the door once everyone has arrived. A numeric code is the oldest version of this and still the most used, because it works from a phone keypad with nothing installed.
Recording is where the boring list turns into a legal one. Consent rules differ by country and by state, and some places require every party to agree rather than just one. The rule that applies is usually the one where the people are sitting, not where your server is. Announce it inside the room, keep that announcement with the recording, and decide up front how long recordings live before something deletes them.
Getting specific about who can join the call is worth doing before you pick a provider. The answer decides whether you need real accounts, single use links or a plain six digit code, and those are three different builds.
What each way of running a group call gives you
| Approach | Join with nothing installed | Rings like a phone call | What the bill scales with | Your own data and branding |
|---|---|---|---|---|
| Dial in bridge with a code | Yes | Yes | minutes of phone time | No |
| A meeting link in a browser | Yes | No | host seats | No |
| An off the shelf meetings app | No | varies by app | host seats | No |
| Provider SDK inside your own app | No | only with a VoIP push | participant minutes | Yes |
| Mesh calling you wire yourself | No | No | your own TURN server | Yes |
Building a conference calling app of your own
The honest build list is short and unforgiving. A signalling path so two devices can swap session descriptions and network candidates. STUN and TURN servers so they can find each other through home routers and mobile networks. A media server once you are past a handful of people. A backend to hold the provider key, so it is not sitting in the app bundle where anyone can read it. None of that is screen code, and all of it is running cost.
Newly is an AI app builder: you describe an app in plain English and it writes a real React Native and Expo project you own, runs it on a cloud iPhone or Android simulator while it builds, and uploads iOS builds to TestFlight. It does not include WebRTC or a calling SDK out of the box. Ask it for a calling app and you get the contact list, the call screen and the call history, with no audio path underneath. A provider such as Daily, Agora or LiveKit has to be added, along with somewhere server side to keep its key. Plans are $25 a month, there is no free plan, and Android goes to Google Play internal testing from the Deploy tab, or out as a standalone APK.
A group call app for a business is best built backwards from how most people start. Settle the room rules and the maximum size. Pick a provider and price the participant minutes at that size. Decide whether you need a native call screen or whether a notification and a tap is enough. Then build around those three answers. The call screen is the easy half, and it is the half everyone builds first.
Questions people ask about conference calling apps
It puts three or more people into one audio call and keeps track of the room around it: who is in, who can speak, who is host, and what happened. The three person threshold is what separates it from an ordinary call. Past two people, audio has to be routed through something in the middle instead of going straight between two phones.
Describe the room your calls actually need
Write down the largest number of people who will ever be on one call, how they get in, and whether the phone has to ring, then build around those three answers.
Start building