I recently spent a bit of time trying to get Skype working under Linux and serving phone calls to our phones in the house transparently. I finally decided to write up something about the experiment to Skype's Linux forum. Here's the transcript:
=================================================
I don't think the Linux port should be abandoned, but it's pretty clear to me that a number of things should be reconsidered to make it a truly successful Linux port.
For one, a more modular design, and opening some parts of the API. I'm trying to get it working on my network gateway and plug it into a USB-B2K phone box [1]. After weeks of on-and-off trying, I've hit a few major roadblocks that won't be solved anytime soon unless some subsystems are opened:
* Not everyone wants to run Skype Linux on a machine that has a GUI. My gateway sits in the attic and serves music / movies / files for the whole house. And hopefully someday, skype calls. I can run a fake X server so skype finds a display and is happy, even if no one ever looks at it. That would work if it was possible to get the telbox working, i.e. ringing and understanding my typing phone numbers on the keypad. Which brings me to my second point:
* yealink advertised providing Linux drivers for the USB-B2K. That's a lie. They did release one driver, a year ago as of Sep 26 2006, that only worked for Fedora Core 4 [2]. I use Debian, [ insert your favorite distro here ]. Fortunately, as is often the case in the Linux world, a few smart people will hack and reverse engineer something broken or non-existing into something that works. That's what the USBB2K-API project is doing [3].
Equipped with the usbb2k tools, I have something that can detect the handset on/off, read the phone keys as I type numbers and ring the phone. That took quite a bit of hacking to get it all working, but at least there was something I could do.
Now, I don't see anything in Skype Linux that I could use to hook together my now working phone box and Skype. I was romantically thinking that it would "just work". Yeah well, sometimes I can't face the obvious. Unless a part of Skype's API is opened so people can drive the app from whatever they come up with, we're always going to hit roadblocks.
Summing up .. I spent $40 on the telbox, and a number of weekend hours hacking away. Learned a few things .. got the phone box working .. can play music on the phones through the house .. but no Skype. Guess the next step now is to get one of those $300-something WiFi phones that run the Skype client on the device and don't require a computer in between.
[1] yealink's USB-B2K: http://yealink.com/en/view.asp?ClassLayer=6
[2] SkypeMate for Linux: http://yealink.com/en/skypedown.asp
[3] USBB2K-API, open source linux drivers for the USB-B2K box: http://savannah.nongnu.org/projects/usbb2k-api/