LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   SIP client (software phone) for Linux which actually works? (https://www.linuxquestions.org/questions/linux-software-2/sip-client-software-phone-for-linux-which-actually-works-4175416322/)

*Dark Dragon* 07-12-2012 05:42 AM

SIP client (software phone) for Linux which actually works?
 
EDIT: This is solved problem. I recommend using sflphone, the only SIP client that worked for me.

I want to use my computer with microphone as SIP phone. Sounds easy, but I tried many programs and NONE except just ONE have worked. I do have working asterisk server, and my hardware SIP phones work perfectly. So I'm 100% sure that my setup works, its just nearly all software phones for Linux are broken.

This is what I have tried so far (I'm using Debian Testing):

1) linphone. Gives segmentation fault on start.

2) jitsi. Fails when I try to place a call and gives error "Call failed. Not acceptable here". Here it is explained that the reason for this error is the fact that asterisk does not support ZRTP key negotiation which I do not need, and jitsi cannot be configured not to use it.

3) kphone. Deprecated. Cannot be installed on Debian Testing due to missing dependencies.

4) twinkle. Deprecated. Cannot be installed on Debian Testing due to missing dependencies.

5) qutecom. Does not work. Shows "Connecting" infinitely.

6) ekiga. Gives error "Could not register. Method not allowed". I really hate Microsoft style errors. What method? Not allowed by whom? I have no idea what is the meaning of this "error". Google does not help. I tried to write a question to ekiga mailing list few days ago, but I do not believe I get an answer ever, the list seems to be dead.

EDIT: Tried 2 more programs:
7) blink. Broken. Requires deprecated library libssl0.9.8 available only in Debian Stable. It is possible however to install it, and then blink starts up with "Add Account" window with white letters on white background. It crashes if I try to change input sound device. Half of names in its main window are white on white background. And of course it does not work, just shows "Looking up destination" for a second and then "Destination not found" when I try to call somebody.

8) sflphone. Finally something that works. It has simple but comfortable interface and can filter out echo so I can talk with my microphone and speakers. Only problem is no support for address book or even history. Theoretically, sflphone supports evolution address book, but this does not work, and even if it did, I do not want to use evolution to add new contacts.

EDIT: Two more programs for completeness.
9) yate-qt4. Dials numbers and accepts calls, but when answering immediately shows error "Audio failure". Nothing can be heard on both ends after this error (no useful messages appear in the console when the error happens). But when receiving incoming call it uses speakers successfully, so I'm sure it can use ALSA perfectly. Therefore this is not real "audio failure", it just another broken SIP client.

10) zoiper. Free but closed source. Broken. Cannot be installed on Debian (even Stable) because necessary packages are deprecated and deleted from the repository. It is possible however to find them somewhere else on the Internet, and then install zoiper successfully. It gave me on start error "Failed to create startup entry". It is not fatal, so I ignored it. But when trying to add SIP account, it crashed with segmentation fault. I tried a few times to be sure, but the result is the same. Looks like developers abandoned it, because I downloaded "current" package for Debian.

1 working client out of 10... Feels like nearly nobody uses SIP/VoIP in Linux. The only working client (shlphone) does not even have address book or history of incoming/outgoing calls, so I have to copy/paste phone numbers from text file to use it. If somebody can suggest free SIP client not listed here - please tell me, I will try it and add it to the list. Hope this post will be useful to somebody.

frankbell 07-12-2012 09:43 PM

I have used Ekiga and found it worked quite well. It took me some research to make sure I had opened all the correct ports in my firewall and router, though.

I found the Ekiga echo test most useful in setting it up.

*Dark Dragon* 07-13-2012 02:31 AM

Quote:

Originally Posted by frankbell (Post 4726583)
I have used Ekiga and found it worked quite well. It took me some research to make sure I had opened all the correct ports in my firewall and router, though.

Do you know how to fix "Could not register. Method not allowed" error then? As I have wrote, "I'm trying to use SIP client on the same computer I have asterisk running". So I do not have router or firewall in my way (and I do not have them at all in my local network, all I have is a network switch and a gateway). As I have already said, I'm sure I have working setup, because my hardware SIP phones work perfectly.

Ekiga does not work for me at all. I created SIP account in it, as my Name, User and Authentication User I have entered my SIP login, as password - my SIP password, as "Registrar" - IP address of my asterisk SIP server - the same one I use in my hardware SIP phones. And I get "Could not register. Method not allowed". I use default 5060 port in sip.conf. I have created separate account for software phone. If I try to use this new account in hardware SIP phone, it works.

Of course, if somebody can suggest how to fix errors I get in Ekiga or Jitsi I will appreciate it. But perhaps there are some other SIP client(s) which "just work"?

Skaperen 07-13-2012 02:50 PM

Quote:

Originally Posted by *Dark Dragon* (Post 4726747)
Do you know how to fix "Could not register. Method not allowed" error then? As I have wrote, "I'm trying to use SIP client on the same computer I have asterisk running". So I do not have router or firewall in my way (and I do not have them at all in my local network, all I have is a network switch and a gateway). As I have already said, I'm sure I have working setup, because my hardware SIP phones work perfectly.

Ekiga does not work for me at all. I created SIP account in it, as my Name, User and Authentication User I have entered my SIP login, as password - my SIP password, as "Registrar" - IP address of my asterisk SIP server - the same one I use in my hardware SIP phones. And I get "Could not register. Method not allowed". I use default 5060 port in sip.conf. I have created separate account for software phone. If I try to use this new account in hardware SIP phone, it works.

Of course, if somebody can suggest how to fix errors I get in Ekiga or Jitsi I will appreciate it. But perhaps there are some other SIP client(s) which "just work"?

The whole VoIP things is big configuration mess due to the legacy of trying to be compatible with PSTN. If you are trying to build a VoIP phone network, you are doomed to be in this mess. If you need for it to also interconnect to the actual PSTN, it gets worse. But it seems all the software out there wants to do everything, so you have a nightmare even when you want to do just parts.

For example I'm looking for a simple voice conferencing system. It would be like IRC is to text, if you take away the ability to interconnect multiple servers. I have no need for it to use particular protocols like XMPP or SIP. I'd write my own if it were not for the fact that such a thing would need (for others) clients that run on various platforms (Linux, Android, BSD, OSX, iOS, Windows). If I could get client writers interested, I'd write the server part. But it seems everyone wants to gulp the whole pie down instead of forking off a piece of a slice.

*Dark Dragon* 07-13-2012 03:42 PM

I have tried two more SIP clients and found the one which works in modern Linux distribution - sflphone. So my problem is solved.

Quote:

Originally Posted by Skaperen (Post 4727343)
The whole VoIP things is big configuration mess due to the legacy of trying to be compatible with PSTN. If you are trying to build a VoIP phone network, you are doomed to be in this mess. If you need for it to also interconnect to the actual PSTN, it gets worse. But it seems all the software out there wants to do everything, so you have a nightmare even when you want to do just parts.

It is a mess, yes. But this thread exists not because of VoIP/Asterisk imperfections, but because 7 SIP clients for Linux are broken or abandoned and only 1 actually works. Having to try 7 not working SIP clients in a row is not pleasant at all. And what makes the problem so bad, that everywhere people recommend using broken or deprecated clients - I honestly do not understand why. Perhaps because they work on old distributions, I cannot see any other reason. But there is so many people who use Debian Testint/Unstable (including Ubuntu users, because Ubuntu is based on Debian Unstable)... It looks like SIP is not very popular in Linux world, so nearly all SIP clients for Linux are abandoned or poorly tested.

Quote:

Originally Posted by Skaperen (Post 4727343)
I have no need for it to use particular protocols like XMPP or SIP. I'd write my own if it were not for the fact that such a thing would need (for others) clients that run on various platforms (Linux, Android, BSD, OSX, iOS, Windows). If I could get client writers interested, I'd write the server part. But it seems everyone wants to gulp the whole pie down instead of forking off a piece of a slice.

In my case I do need SIP. And, as a programmer, I can tell you that writing GUI and clients is never easy in real applications, especially when support for many platforms is required (it is not so hard to develop multiplatform application, but actually testing it is very time consuming). So everybody who can find already existing solution, just sticks with it, even if it's imperfect. And only if no acceptable solution can be found, some people may consider writing/creating something themselves.

shlphone is good example, it is divided to server and client parts. Server implementation is very good, all important functions are implemented; but client is far from perfect, lacks important things like call history and address book. I do not have time to improve the client, so I will keep using it as is until I find time to improve it or better alternative.

Skaperen 07-17-2012 10:07 PM

Quote:

Originally Posted by *Dark Dragon* (Post 4727390)
I have tried two more SIP clients and found the one which works in modern Linux distribution - sflphone. So my problem is solved.

I'll definitely look at using that one if I end up using SIP. Web site at sflphone.org has some packages. Source tarball link is 404. Maybe the git will work, but I want definite version numbers. There is a mailing list, but if support requires using that, then I have to treat this as no support (mailing lists are not suitable for support because you either have to subscribe to ask, or the place will be spammed ... forums are the way to go these days).

Quote:

Originally Posted by *Dark Dragon* (Post 4727390)
It is a mess, yes. But this thread exists not because of VoIP/Asterisk imperfections, but because 7 SIP clients for Linux are broken or abandoned and only 1 actually works. Having to try 7 not working SIP clients in a row is not pleasant at all. And what makes the problem so bad, that everywhere people recommend using broken or deprecated clients - I honestly do not understand why. Perhaps because they work on old distributions, I cannot see any other reason. But there is so many people who use Debian Testint/Unstable (including Ubuntu users, because Ubuntu is based on Debian Unstable)... It looks like SIP is not very popular in Linux world, so nearly all SIP clients for Linux are abandoned or poorly tested.

I wonder if the 32-bit to 64-bit shift is part of the issue. And maybe it is the libraries that change and now fail, taking the process down with them.

Quote:

Originally Posted by *Dark Dragon* (Post 4727390)
In my case I do need SIP. And, as a programmer, I can tell you that writing GUI and clients is never easy in real applications, especially when support for many platforms is required (it is not so hard to develop multiplatform application, but actually testing it is very time consuming). So everybody who can find already existing solution, just sticks with it, even if it's imperfect. And only if no acceptable solution can be found, some people may consider writing/creating something themselves.

Definitely not easy. For my conference server, if I develop it, I'll make a simple command line client as a reference to how to talk to the server, and try to put the logic guts in a library. Then I hope others come along and develop the candy coating.

Quote:

Originally Posted by *Dark Dragon* (Post 4727390)
shlphone is good example, it is divided to server and client parts. Server implementation is very good, all important functions are implemented; but client is far from perfect, lacks important things like call history and address book. I do not have time to improve the client, so I will keep using it as is until I find time to improve it or better alternative.

But this is still the "phone system" model, rather than just pure "media over IP", right? That model where they make the protocol (so it will be harder to develop for) and server (harder to configure) try to become a full phone system is what I want to avoid.

etech3 07-17-2012 10:47 PM

*Dark Dragon*
twinkle
http://packages.debian.org/unstable/comm/twinkle

Never tried using asterisk server/sip client on same machine. Always used command line dial for testing purposes

I have always used stable Debian for production work. And check your echo setup on the asterisk.

@Skaperen
I read some of your posts on VOIP/conferencing. It's not that much of a hassle, but you can always out source the whole thing.

Asterisk can be as hard as you want it to be.

Guys, not trying to start a flame war here. Just my :twocents:

nikmit 04-17-2013 05:29 AM

SFLphone still works out of the box
 
I got my laptop VPNing home and SFLphone connects to the Asterisk instance over the VPN and on the inside firewall interface.

It is great to have your landline extension available wherever there is internet access :) and without exposing a SIP port to the internet on the server.

I tried linphone briefly, but did not see any option to configure it to register with asterisk - seems it is designed for IP2IP calls.
SFLphone has that ability too, but I haven't tested it.

nh2 05-13-2013 06:58 AM

I first tried linphone from the Ubuntu 13.04 repos. It warned about missing image files, the config wizard didn't work, and it segfaulted on wrong SIP password. Also, it is confusing that putting in your account (e.g. sipgate) is called "SIP proxy" and does not ask you for a password - the password query will pop up once you try to make a call.

However, in comparison to Ekiga, which I've used so far, it actually allowed me to make a call (recent Ekiga only tells me "Call completed" immediately).

I compiled linphone from their git now, and that looks in much better shape.

(OK, the README still misspells the build dependencies, but I can guess what "ligl1-mesa-dev" means and apt-get build-dep linphone got most of them already.)

Maybe this helps someone :)

tmatth 05-24-2013 02:57 PM

Quote:

8) sflphone. Finally something that works. It has simple but comfortable interface and can filter out echo so I can talk with my microphone and speakers. Only problem is no support for address book or even history. Theoretically, sflphone supports evolution address book, but this does not work, and even if it did, I do not want to use evolution to add new contacts.
Thanks for the praise, just two points to clarify:

1) If you are running GNOME, your contacts provided via GNOME Online Accounts will be available via the Evolution plugin, so that's one way you can get around manually adding contacts in Evolution.
2) The History feature has been available for quite some time, it's the clock icon. In it, you can call people from your history or play back calls which you recorded.

As far as support goes, you have a few options:

1) The #sflphone IRC channel on freenode
2) The mailing list
3) The contact form
4) The bug tracker

lawquest 06-19-2014 09:59 PM

These criticisms are well taken. Thanks Dark Dragon. I have been down that same road with, largely, the same result. Could have saved a lot of time had I seen this first.

Yateqt seems clearly best to me, however, largely because of its excellent address book. Nonetheless, as you note, if the ringer is on, it won't accept incoming calls. And if the ringer is off, unless one is willing to stare at the GUI all day, it is useless for live incoming calls (voicemail works fine).

Of course, things are not always as they seem. Yate's ridiculous refusal to accept incoming calls with ringer on (Debian Wheezy) is likely seen by some as a benefit. I can bother others but they can't bother me. And can honestly tell them, when I finally remember to check my voicemail, that I don't regularly check voicemail.

Lets hope someone someday comes up with some good sip phone software.


All times are GMT -5. The time now is 12:36 PM.