Closed eric-brechemier closed 5 years ago
Zoiper | Linphone | |
---|---|---|
OS | Windows/Mac/Linux | Windows/Mac/Linux |
License | Proprietary | Open Source (GPLv2) |
Price | Zoiper Lite: Free for non‑commercial use Zoiper PRO: 47.94€ |
Free |
Audio Codecs | opus, speex, iLBC, gsm, g711 ulaw, g711 alaw, g722, g726 + g729 (Only in PRO) |
opus, speex, gsm, g711 ulaw, g711 alaw, g722, g729, AAC-ELD, BV16 |
Encryption | TLS, SRTP, SFTP (Only in PRO version) |
TLS, SRTP, zRTP, SRTP-DTLS |
Full List of Features | Free vs PRO | Mobile vs Desktop |
After installing the app, on the first launch, the experience in Zoiper and Linphone differs:
Zoiper | Linphone |
---|---|
It reflects the fact that:
To skip the ad for the PRO version of Zoiper, click the discreet link at the bottom of the screen:
The next step is the start of the setup.
In Linphone, the first screen invites you to spread the word by inviting your friends to use the app. In order to start the setup, you can select the assistant instead:
then at the start of the assistant, click the button in the bottom left to start the setup:
In both cases, you need three pieces of information and a half to setup the app:
In the case of Twilio, you choose your own SIP username and password when you create the SIP user. You choose your own subdomain, which must be unique among all Twilio users when you create the SIP domain. Your subdomain is followed by .sip.us1.twilio.com
. And you can optionally append ;transport=tls
to the SIP domain to specify that you want to use an encrypted transport for the SIP registration.
The username and domain are sometimes presented together, glued together with @
like in an email: username@domain
, and sometimes presented separately. This can be confusing at times, but it is very much like an email indeed: usually you have to provide the whole email address, but with your email provider, the username alone is often sufficient to identify yourself.
For a total newbie like me, the Zoiper setup is very friendly: each step asks for little information and provides ample details to describe the information requested. The Linphone setup process on the other hand is pretty daunting. If you don't know what to expect, what's needed to make the magic happen, you are pretty much on your own.
Zoiper | Linphone |
---|---|
The setup process of Zoiper is very piecemeal, asking for just one or two pieces of information on each step:
username@subdomain.sip.us1.twilio.com
) and passwordPrefilled with the SIP domain provided at previous step, it can be customized here to add extra parameters, e.g. ;transport=tls
:
Here I appreciate that different options are tested and color coded to show which tests were successful. I regret that the encrypted channel is reserved to the PRO version though, because security is a right, not a feature.
I found the tools provided by Zoiper to check the audio input and output at this step quite useful. It is too bad that they are only available during the initial setup though: I tried hard but could not find them anywhere in the app to check my audio settings again at a later point.
At this step, the setup is complete and the green mark shows that the SIP registration has been done successfully. This is dandy, you can start making calls, unlike Linphone which requires an extra step as we'll see below.
This form feels like a wall to climb, and confronts us with its emptiness. It is also very dry: no hint, no clue is provided.
Stepping back for a minute, we can build on our experience of the setup in Zoiper to fill in this imposing form:
@
) without the domain.subdomain.sip.us1.twilio.com
or with optional parameters e.g. subdomain.sip.us1.twilio.com;transport=tls
.No... After saving the account settings, we get back to the very first screen, with the same default account selected. Was it all for naught?!
As far as I can tell, this default account is useless, and this impression is confirmed by the ominous red warning icon on its side:
We now need to select the SIP account that we have just created to trigger the SIP registration. All of which was done automatically by Zoiper.
With a leap of faith, we click on the default account status, which opens a modal window:
Here we take a chance with the list below "Active Account" and we find our SIP account below:
We select it:
and after confirming with OK, the selected SIP account is now active and registered:
Needless to say, it was much easier with Zoiper, many thanks.
From this point, we can make and receive calls. In both Zoiper and Linphone, we can call a number directly by searching for this number in our list of contacts, still empty at this point, then choosing to call the number disregarding the fact that no matching contact was found:
Zoiper | Linphone |
---|---|
The steps are the same in Zoiper and Linphone:
Zoiper | Linphone |
---|---|
Zoiper | Linphone |
---|---|
Zoiper | Linphone |
---|---|
Once the setup has been completed, you can receive calls as long as the app is running. Technically, the SIP account must be registered with the VOIP provider that provides the bridge between the Public Switched Telephone Network (PSTN) and your computer. When a regular phone calls your virtual phone number, the VOIP provider translates that to your VOIP address (username@domain
). The role of the registration is to tell the service where is your computer, which will be handling the calls for this address.
While both Zoiper and Linphone notify you of incoming calls with a ring, their visual notifications differ. In Zoiper, the whole app displays the notification, while in Linphone a small notification pops up instead:
Zoiper | Linphone |
---|---|
You can then choose to answer the call or end the call without answering.
During a call, you can get statistics and extra details in both Zoiper and Linphone:
Zoiper | Linphone |
---|---|
I found the input/output levels displayed by Linphone particularly useful to check that the sound is moving both ways:
For day to day usage, it is more convenient to save contacts for each number to call. An added benefit is that the name of the contact gets displayed when the corresponding number calls you.
Zoiper | Linphone |
---|---|
The user experience for contact management in Zoiper is surprisingly awful in contrast with the excellent experience during the initial setup. The most obvious shortcomings are:
... before you are finally allowed to store the phone number:
Unsurprisingly, contact management in Linphone is not great, but it is still leaps and bounds better than Zoiper. The major pitfall again is how to store the phone number. Linphone does not label them as phone numbers. All it knows are SIP accounts:
Now, when you call a phone number from a softphone, it has to be converted to a SIP address that the VOIP service can understand, and it is the responsibility of the VOIP service to translate this address into an international phone number to call a regular phone over the Public Switched Telephone Network (PSTN). So, in theory, Linphone is on firm grounds. But in practice, most VOIP providers format these SIP addresses for actual phone numbers in the same way, by appending @
and the SIP domain to the international phone number, e.g. +12025550108@subdomain.sip.us1.twilio.com
. So by asking for a SIP Account, Linphone is requesting a value in this format. Which I have been doing for months, but it gets old very fast.
The trick is, both Zoiper and Linphone are aware of this convention, and even Linphone will gladly accept an international phone number instead of a SIP Account, even if it does not say so:
You can input just +12025550108
. After saving the contact number with , the SIP domain of the active SIP account, subdomain.sip.us1.twilio.com
, is simply appended to the international phone number, which becomes +12025550108@subdomain.sip.us1.twilio.com
:
No need to type it yourself!
Also, both Zoiper and Linphone provide overweight forms full of fields to fill for each contact. The truth is, you only need to fill the display name and one phone number in international format. That's all.
In both Zoiper and Linphone, it is actually easier to search for a number first, then save that number as a contact than to create a contact from scratch.
The major advantage is that the phone number is prefilled, in the right place and in the right format.
Zoiper | Linphone |
---|---|
Zoiper | Linphone |
---|---|
Deleting a Contact is straightforward in Linphone.
It is a bit more subtle in Zoiper, which offers a choice between deleting the contact or just deleting the call history for this contact:
Both Zoiper and Linphone may work for you. Neither is perfect.
I chose Linphone over Zoiper because:
I learned a lot by using Zoiper however: it is much more welcoming for newcomers because of its didactic interface and it mentions phone numbers directly where Linphone uses only the unfamiliar concept of SIP accounts.
You may leave your comments below.
I started by testing Zoiper, which was, if I remember correctly, provided under white label by one of the VOIP services that I considered, and was otherwise often mentioned in the documentation of others.
After a few months with Zoiper, I was confronted to repeated issues when making phone calls over a particular WiFi connection which led me to start testing Linphone instead.
I will describe my experience with these two software phones side by side.