M meni.ge
Start free

Softphones: Zoiper, MicroSIP, Linphone

Calls from a computer or smartphone without a desk phone: QR and manual setup, receiving calls in the background on Android and iOS, headsets

17 min read Open this screen in the demo
On this page 13

Softphones: Zoiper, MicroSIP, Linphone

A softphone is a phone in the form of an app: on the cashier's computer, the manager's laptop or the owner's smartphone. To the PBX it is no different from a desk phone: you give the employee an extension in the admin panel and enter the same five values — SIP server, username, password, port 5060, transport UDP. Where to get them and what they mean is in the overview “SIP Phone Setup”.

In short, what to pick:

Client Platforms Price for a business When to choose it
MicroSIP Windows free (open source) the computer at the till or front desk — lightweight, lives in the tray
Zoiper Windows, macOS, Linux, Android, iOS the free version is for non-commercial use only; a business needs Premium (one-time purchase) one client for all of an employee's devices
Linphone Windows, macOS, Linux, Android, iOS free (open source) when you need a free client on a smartphone or a Mac
Grandstream Wave Lite Android, iOS free if the employee already uses it

Once it is set up, dial *43 right away: the PBX plays your own voice back to you. It is the only check that audio gets through, not just the registration (details below).


When to use a softphone and when a desk phone#

A softphone is good where the person already sits at a computer or holds a phone: the manager, the owner, the delivery dispatcher, the accountant. It is free or nearly free, needs no socket or cable and shows contacts right away.

A desk phone or DECT is needed where a call must not be missed:

  • Front desk, bar, reception. A computer goes to sleep, installs updates, someone closes the app — and calls silently stop arriving. A phone on the desk always rings.
  • Waiters on the floor. A smartphone in a pocket receives calls in the background unreliably (see “Receiving calls in the background”), while a DECT handset is a phone that does nothing else.
  • A noisy dining room and kitchen. Laptop speakers and a built-in microphone produce echo and noise; a desk phone has a proper handset.

One extension can be kept on several devices at once (up to 5): for example, a desk phone at the front desk and a softphone on the manager's smartphone. An incoming call rings on all of them; whoever picks up first answers.


Zoiper#

Platforms: Windows, macOS, Linux, Android, iOS. Download only from the official zoiper.com site or the app store.

Setting up on a computer (Zoiper 5)#

  1. Install and launch Zoiper. On the first “Username and password” screen enter:
    • in the top field — the username from the window, an @ sign and the SIP server, e.g. sip-a1b2c3d4-101@sip.example.com (Zoiper itself hints “user@sip.example.com”);
    • in the Password field — the password from the window.
  2. Click Login. If Zoiper asks for the server address (Hostname), enter the SIP server from the window. Leave “Authentication” and “Outbound proxy” empty.
  3. Zoiper tests which connection methods work (SIP TLS, SIP TCP, SIP UDP, IAX UDP). SIP TLS and IAX will not be found on our PBX — that is normal. Choose SIP UDP (or SIP TCP if UDP does not pass on your network) and click Next.
  4. The wizard then offers to test the microphone and speaker — go through it with the headset you will actually use.

Zoiper 5: the first wizard screen — the username field with the user@sip.example.com hint and the Password field Screenshot: Zoiper 5 User Guide v.1.0.7, p. 10 (“Activation”), https://www.zoiper.com/pdf/User%20Guide%20Zoiper%205%20v.1.0.7.pdf.

Manual setup: which field goes where#

If the account already exists or the wizard failed, open Settings → Accounts → your account and check the fields:

In the admin panel (“Extension credentials”) In Zoiper 5 (Settings → Accounts → SIP Account)
SIP server Domain (on a smartphone — Hostname)
Username Username — in full, sip-…-<number>
Password Password
Port 5060 not entered — Zoiper uses 5060 by itself; another port is appended to the address: server:port
Transport UDP Advanced → Network → Transport → UDP
Extension no field; as the account label — Caller ID name (optional)

Leave Use auth. username and Use outbound proxy unticked. Use STUN can be turned off: our PBX handles NAT itself and does not need STUN.

Zoiper 5: the SIP Account 1 window — Domain, Username, Password fields and unticked Use auth. username and Use outbound proxy Screenshot: Zoiper 5 User Guide v.1.0.7, p. 30 (“Accounts / SIP Accounts”), https://www.zoiper.com/pdf/User%20Guide%20Zoiper%205%20v.1.0.7.pdf.

More: codecs, transport, keep-alive in Zoiper
  • Codecs (Settings → Accounts → account → Advanced → Audio and Video codecs): keep G.711 a-law and G.711 µ-law in “Selected”; if your version has G.722, add it. Top to bottom = priority. Our PBX does not need G.729.
  • Transport. Zoiper's documentation advises avoiding UDP because of NAT timeouts on the router. Our PBX also accepts TCP on the same port 5060 — if incoming calls disappear after a few idle minutes on UDP, switch the account to TCP. TLS does not work on our shared PBX — do not choose it.
  • Keep alive time-out (same place, Network) — leave it on: it keeps the “hole” in the router open so that incoming calls get through.
  • Registration expiry — the default is fine; our PBX accepts 60 to 3600 seconds.

Setting up on a smartphone (Zoiper for Android and iOS)#

The fields are the same: when creating the account, choose manual SIP account configuration and fill in Hostname (SIP server), Username (the full username) and Password. A green tick appears next to the account within about 30 seconds — registration succeeded. About the QR code — a separate section below.


MicroSIP#

Windows only, free and open source. It installs in a minute, lives in the tray and uses almost no memory — a good choice for the till computer. It does not read QR codes: it is set up with fields.

  1. Download it from the official microsip.org site (regular or portable version).
  2. MicroSIP main menu → Add Account.
  3. Fill in the fields as in the table and click Save. Check the registration in the admin panel: the operator gets a green dot.
In the admin panel (“Extension credentials”) In MicroSIP (Add Account)
SIP server SIP Server and Domain — both the same
Username Username — in full, sip-…-<number>; Login — may be left empty (Username is used then) or the same value
Password Password
Port 5060 not entered — 5060 by default; another port — after a colon in SIP Server
Transport UDP Transport → UDP (“Auto (UDP & TCP)” also works)
Extension Account Name / Display Name — as a label (optional)

Leave SIP Proxy empty. Media Encryption — Disabled: our PBX does not provide audio encryption (SRTP), and with it the call will not connect. ICE — off.

MicroSIP: the Account window — Account Name, SIP Server, SIP Proxy, Username, Domain, Login, Password, Transport, Keep-Alive fields Screenshot: MicroSIP Help, Account section, https://www.microsip.org/help.

More: codecs and audio devices in MicroSIP

Main menu → Settings:

  • Enabled Codecs — keep G.711 A-law and G.711 u-law, optionally add G.722 16 kHz from “Available Codecs” with the arrow. Nothing else is needed.
  • Ring Device / Speaker / Microphone — choose the headset for talking, and the computer speakers for ringing (Ring Device), so the ring is heard even when the headset lies on the desk.
  • DTMF Method — Auto or RFC2833.
  • Keep-Alive in the account window (15 s by default) keeps NAT open — do not turn it off.

MicroSIP: the Settings window — Ring Device, Speaker, Microphone devices and the Available/Enabled Codecs lists Screenshot: MicroSIP Help, Settings section, https://www.microsip.org/help.


Linphone#

A free open-source client by Belledonne Communications: Windows, macOS, Linux, Android, iOS. On first launch its wizard offers to create an account on their own service — you do not need it.

  1. On the start screen choose Third Party SIP Account (“Use a third party SIP account”). The app warns that some Linphone features (group chats, video conferences) are unavailable with a third-party account — tap I understand.
  2. Fill in the fields as in the table and tap Login.
In the admin panel (“Extension credentials”) In Linphone (Third party SIP account)
SIP server Domain
Username Username — in full, sip-…-<number>
Password Password
Port 5060 not entered — 5060 by default
Transport UDP Transport → UDP. ⚠️ Linphone defaults to TLS — registration will fail with it, be sure to switch
Extension Display name — as a label (optional)

Leave Authentication ID (if different) and Outbound proxy empty.

Linphone push notifications go through Belledonne's intermediary server (Flexisip); a third-party account such as ours does not have it — so on a smartphone Linphone receives calls in the background worse than with the app open. See “Receiving calls in the background”.


Grandstream Wave Lite#

Grandstream's free SIP client for Android and iOS. Not to be confused with Wave (without Lite): that one is designed for Grandstream UCM systems and signs in by their invitation — it does not connect to our PBX. In Wave Lite add a SIP account manually with the same values: server — the SIP server from the window, username — in full (also in the authentication ID field if it is separate), password, transport UDP. Wave Lite does not read the admin panel QR code: Grandstream uses its own format.


The QR code from the admin panel#

The “Extension credentials” window has a “Show QR” button. The code contains a single line like

sip:<username>:<password>@<SIP server>:5060;transport=udp

that is, all credentials including the password. Therefore:

  • show the QR only to the person you are giving the extension to; do not photograph or forward it — it is the same as forwarding the password;
  • once the window is closed the QR cannot be restored (we do not store the password) — only “Reset password” and a new QR.

Who can read it. The built-in scanners of Zoiper and Linphone are designed primarily for a provisioning link, not for such a line: Zoiper describes its scanner for codes generated on its own service, and in current Linphone versions (6.x for Android and iOS) the scanner, according to its source code, accepts only a web link to a configuration file — it will reject our line with “Invalid QR code!”. You may try the QR in Zoiper; if no account is created, enter the fields — it takes two minutes. The most convenient way is to click “Copy all settings” and send the text to the employee in a private messenger: they open it on the same smartphone and copy the username and password into the app without typos.


Receiving calls in the background on a smartphone#

To be honest: nobody can guarantee that a smartphone with a softphone will ring when the app is minimised or the screen is off — neither we nor the softphone vendors. The reason is the operating systems themselves:

  • Android puts background apps to sleep (Doze mode and “battery optimisation”), and when switching from Wi-Fi to mobile data it breaks their connections. The registration is lost silently — the dot in the admin panel stays green for a while, but the call no longer reaches the phone. Some skins (Xiaomi MIUI/HyperOS, Huawei EMUI) kill apps even more aggressively.
  • iOS does not let an ordinary app keep a connection in the background at all: an incoming call wakes the app only through a push notification (Apple's service), and for that the softphone needs its own intermediary push server.

What reduces the risk:

  1. Android: Settings → Apps → your softphone → Battery → “Unrestricted” (or remove “battery optimisation”); allow background activity, display over other apps and notifications. On Xiaomi also “Autostart”.
  2. Zoiper offers its own Push Proxy service (Firebase on Android, APNs on iOS) — according to Zoiper's documentation this is the only reliable way to receive calls in the background. It is enabled in the app; terms and price are Zoiper's. The service requires the PBX to allow re-registration for at least 1 hour: our PBX accepts up to 3600 seconds, exactly that minimum.
  3. Linphone with a third-party account gets no push (their Flexisip server is required) — keep the app open.
  4. Keep the app open on screen while waiting for calls (e.g. a smartphone on a stand at the till).

Most importantly: where a call must not be lost, install a desk phone or DECT, and let the smartphone be a second device on the same extension.


Headset and audio#

  • A headset is a must for working at a computer. A laptop's built-in speakers and microphone on speakerphone produce echo for the other party: your speaker leaks into your own microphone. Zoiper's documentation states plainly that echo coming from the other side cannot be removed on your end — it is fixed by whoever creates it.
  • A USB headset is more reliable than Bluetooth: it has no lag or dropouts on a weak signal, a smartphone does not “grab” it, and it does not switch by itself to “headphones without microphone” mode. A Bluetooth headset works, but in call mode the audio is noticeably worse than when listening to music.
  • Choose the device explicitly in the softphone settings: Zoiper — Settings → Audio (microphone, speaker, a separate Ringing device), MicroSIP — Settings → Ring Device / Speaker / Microphone. It is handy to send the ring to the computer speakers and the conversation to the headset. Zoiper has a “Ring also through PC speakerphone” tick — the ring is heard even when the headset is not worn.
  • Echo cancellation (EC) — do not turn it off, as Zoiper advises; in MicroSIP it is the EC tick in Settings.
  • Headset answer buttons: MicroSIP — the Handle Media Buttons tick in Settings (headset and multimedia keyboard buttons), Zoiper — Settings → Audio → Use generic HID (plus separate modes for Jabra and Plantronics).

Audio check *43#

The green dot next to the operator in the admin panel only tells you about registration (port 5060). Voice travels as a separate stream and breaks separately. So right after setup, dial *43 in the softphone and press the call button:

  1. The PBX answers and plays a short beep;
  2. then speak for about ten seconds — you will hear your own voice.
What you hear What it means
A beep, then your own voice audio passes both ways — all is well
A beep, but you cannot hear yourself audio does not get from the softphone to the PBX: wrong microphone (check the device in settings), the app has no microphone permission, SIP ALG on the router
Not even a beep audio does not get from the PBX to you: wrong speaker selected, or the network blocks UDP — see “Network, router and internet”
Choppy or delayed a poor connection: Wi-Fi instead of a cable, an overloaded internet link

The check is free and calls nobody. The numbers (loss, jitter, delay) go into the call log — details in the overview: “Checking call quality”. Audio problems explained — “No audio, one-way audio, echo”.


If the softphone does not register#

First, the common causes from most to least frequent (the same for any device):

  1. The username is not complete. You need sip-…-<number>, not “101”.
  2. The password is outdated. Someone clicked “Reset password” — the old one no longer works. Issue a new one.
  3. Wrong server address. A venue with a dedicated machine has its own address — copy it from the window.
  4. Linphone on TLS. Switch Transport to UDP.
  5. The network blocks UDP 5060 (guest Wi-Fi, some mobile networks, a corporate VPN): try TCP or another network — the same account from home or over mobile data.

What Zoiper messages mean (per its documentation):

Zoiper message What it means with us
SIP 401 / the account does not register, asks for a password wrong username or password: the username is not complete, the password was reset. The “auth. username” field does not need filling — the full Username is enough
SIP 403 Forbidden the PBX refused: the same wrong password, or the extension was deleted/disabled in the admin panel
SIP 408 Request timed out the request did not reach the PBX or the reply did not reach you: a router or firewall is blocking, wrong transport. Switch UDP ↔ TCP, turn off STUN
SIP 503 Transport Failure Zoiper could not send the request: a typo in the server address or no network
SIP 923 No DNS results the server address was not found via DNS: a typo in the SIP server, an unnecessary Outbound proxy, wrong transport, or a VPN on the computer interfering with DNS

The full list of codes and messages of various devices — “Not registering: on-screen messages and error codes”, all symptoms — “Troubleshooting by symptom”.


FAQ#

Can one extension be on both a desk phone and a softphone?#

Yes. One account registers on several devices at once (up to five); an incoming call rings on all of them and whoever picks up first answers. A handy pair: a desk phone at the front desk + a softphone on the manager's smartphone.

Is the free Zoiper enough?#

Technically, for calls — yes, but under its licence the free Zoiper is for non-commercial use only. A business needs Premium (a one-time purchase per device) — or use the free MicroSIP (Windows) and Linphone.

Why did the QR code from the admin panel not work?#

The QR contains the line sip:username:password@server:port. The Zoiper and Linphone scanners primarily expect a provisioning link of their own service, and Linphone 6.x accepts only such a link. Enter the fields manually or send the employee the text with the “Copy all settings” button.

The softphone on a smartphone does not ring when the screen is off#

This is how Android and iOS behave, not a PBX fault: the system puts the app to sleep and the registration is lost. Remove battery optimisation and allow background activity; in Zoiper, enable Push Proxy. If calls are still lost, you need a desk phone or DECT.

The other party hears an echo when I talk from a laptop#

Your speaker is leaking into your microphone. Put on a headset and check that echo cancellation is enabled in the softphone settings. If you hear the echo, it is created on the other party's side and cannot be fixed on yours.

Can calls in a softphone be encrypted (TLS, SRTP, ZRTP)?#

Not at the moment: the PBX accepts UDP and TCP on port 5060 and unencrypted audio. TLS or audio encryption enabled in the softphone will make the account fail to register or the call fail to connect.


Sources#

Was this article helpful?