Build a Skype Server for Your Home Phone System
I'll assume that because you're a Linux Journal reader, getting Fedora Core 3 up and running on your Skype server is a no-brainer. The only important thing to remember is that Skype is a Qt application (though it's also available in a version with Qt statically linked), and the Skype API uses D-BUS. Also, disable the screensaver (after all, there won't be any screen to “save”) and power standby features as these may interfere with Skype.
Here's a step-by-step guide to setting up Linux to work with Skype (it assumes you have set up a Linux user account named skype for the purpose):
With your Skype server powered off, plug your Skype-to-Phone adapter in to your server using a USB cable and, for test purposes, connect its TEL socket to a regular phone handset.
Power up the server and log in to Linux as skype.
Download and install Skype for Linux. If you don't install from an RPM, you will have to add this file by hand, /etc/dbus-1/system.d/skype.conf:
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> <busconfig> <!- skype.conf --> <policy context="default"> <allow own="com.Skype.API"/> <allow send_destination="com.Skype.API"/> <allow receive_sender="com.Skype.API"/> <allow send_path="/com/Skype"/> </policy> </busconfig>
Start Skype and then log in. Next (steps 5 and 6) configure Skype.
Make sure Skype starts automatically at login (select Skype→Tools→Options→Privacy, and then check the box opposite Remember my password).
As you want your Skype server to provide 24/7 phone service, you will want other Skype users to see your on-line status as always Online. Select Skype→Tools→Options→General, and then set Show me as “Away” when inactive to 0 instead of 5 minutes. Set Show me as “Not Available” when inactive to 0 instead of 20 minutes. Zero, in this case, means infinity or never.
Switch to superuser mode by entering the command su and the root password.
Download install-SkypeMate.zip and unzip it to get the file install-SkypeMate (this assumes your Skype-to-Phone adapter is compatible with the SkypeMate software—check before you buy).
Change the permissions for install-SkypeMate to make it executable (skype@fc3:~$ is the command prompt; what follows is the command you should enter):
skype@fc3:~$ chmod +x install-SkypeMate
Run the SkypeMate install program:
Exit superuser mode and reboot the Skype server. Log in again as skype.
Double-click the SkypeMate icon on your desktop (which points to /usr/bin/SkypeMate). Skype will pop up a window asking you to give SkypeMate permission to use its API to control Skype (Figure 3). Check the box Do not ask me again, and then click Yes (that way, you won't be asked to give permission again).
Select your USB Skype-to-Phone adapter as the audio device for calls (select Skype→Tools→Options→Hand/Headsets, and then under Audio Devices select the appropriate device from the pull-down list).
For your convenience when dialing, you may want to set up speed-dial numbers for your contacts list. That way, you can pick up a phone handset and simply dial, say 10#, to call a specific contact.
Test Skype by calling the echo123 call-testing service.
If you want to make calls to regular phones, you will have to sign up your Skype server account for SkypeOut, and if you want to receive incoming calls from regular phones, you will have to sign up for SkypeIn. Both services are available at Skype's cheap rates.
Where are you going to locate your Skype server? Ideally, it should be somewhere with access to power, good ventilation, an Internet connection, your regular phone lines (RJ11 sockets) and out of sight. My choice was to install my Skype server in my basement (Figure 4), which is possibly the ideal location, but not necessarily one open to everybody. If your choices are more limited, that's all the more reason to think long and hard about where to put your Skype server once it's built.
Here's a step-by-step guide to installing your Skype server in your home:
Cancel one of your regular phone lines (not the one that serves your home alarm system).
Cut the incoming phone line that has been canceled where it enters your home (see sidebar).
Connect the Skype-to-Phone adapter to all the handsets of your canceled phone line by connecting its TEL socket to the wall socket of the canceled line using a regular phone cable having RJ11 sockets at both ends.
Test Skype again using the handsets plugged in to the canceled line.
Power down your server and remove any borrowed hardware that was used during its configuration, but that is not needed for its operation, such as a CD-ROM and floppy drive.
Move the server to its new location. Plug in all the cables and connectors, then power it on.
Log in and test Skype once more.
Remove the mouse, keyboard and monitor.
If all has gone well, you now have 24/7 phone service on one phone line provided exclusively by Skype.
Special Reports: DevOps
Have projects in development that need help? Have a great development operation in place that can ALWAYS be better? Regardless of where you are in your DevOps process, Linux Journal can help!
With deep focus on Collaborative Development, Continuous Testing and Release & Deployment, we offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, advice & help from the experts, plus a host of other books, videos, podcasts and more. All free with a quick, one-time registration. Start browsing now...
- Non-Linux FOSS: Code Your Way To Victory!
- Vagrant Simplified
- Dealing with Boundary Issues
- System Status as SMS Text Messages
- Libreboot on an X60, Part I: the Setup
- Disney's Linux Light Bulbs (Not a "Luxo Jr." Reboot)
- Bluetooth Hacks
- Linux and the Internet of Things
- New Products
- October 2015 Issue of Linux Journal: Raspberry Pi