Introduction
Have you ever thought about using your Raspberry Pi for VoIP telephony purposes? It sounds interesting, isn’t it? If so, but you did not find out yet how to implement this VoIP-SIP solution, this tutorial helps you to achieve your goals. This is the best place to start if you would like to make VoIP telephone calls from Raspberry Pi as it explains what hardware and software requirements are needed, and how to use them to be able to initiate VoIP calls.
About the VoIP technology
VoIP is the acronym for Voice over Internet Protocol. This is a methodology and group of technologies for the delivery of voice communications and multimedia sessions over IP networks, such as the Internet. VoIP is commonly associated with other terms, such as ’Internet telephony’ that refers to the provisioning of communications services (voice, fax, SMS, voice-messaging) over the public Internet, rather than via the Public Switched Telephone Network (PSTN).
Because of the bandwidth efficiency and low costs that VoIP technology can provide, businesses are migrating from traditional copper-wire telephone systems to VoIP systems to reduce their monthly phone costs.
VoIP is available on many smartphones, PCs, laptops and on other Internet access mobile devices, and on Raspberry Pi as well. To get the most out of your micro PC just follow this step-by-step tutorial that explains how to add basic VoIP functionality to your Raspberry Pi!
Prerequisites
Below you can see the list of software and hardware devices I used to implement this solution. Some links have been inserted next to each tool to make their acquisition easier:
For VoIP communication, an IP (or VoIP) PBX is essentially needed. The PBX phrase is the acronym for Private Branch Exchange that is a hardware or software solution for establishing communication lines between different types of communication end-points, regardless of using wired, mobile or VoIP technology. (Today's most advanced phone systems are software-based IP PBXs.) The PBX establishes the communication line between the end points through SIP accounts and SIP messages.
If you still haven't got any VoIP PBX, you can choose one from this list: http://alternativeto.net/browse/search?q=phone+sysem. After the installation, you need to install 2 new SIP extensions.
Let's see this process through the example of Ozeki Phone Systems (to introduce this solution I used this PBX). Of course you can use any other VoIP PBX.
On the Raspberry Pi that I used Raspbian OS is installed. After searching on the Internet, I have recognised that SFLphone is a Linux-compatible softphone and it can be installed on Raspberry Pi computers as well. So let's follow the instructions below carefully to be able to configure your Raspberry Pi:
This way, your Raspberry Pi is ready to make and receive phone calls.
At this point, let's summarize where we are in the process:
In this project the numbered 200 SIP extension belongs to an other softphone that is used to make a test call. For this purpose I used the free demo softphone of Ozeki VoIP SIP SDK. Let's see how to setup this softphone:
After this - if you have set everything properly - the Ozeki softphone (with the 200 numbered telephone number) is ready to use.
Now you can see in your PBX that both of the SIP extensions are available. It means that the softphone client installed on your Raspberry Pi and the other softphone that is installed on an other PC have been registered to the PBX and both of them are ready to use.
So, let's verify our work by making a test call. Open the SFLphone and dial '200'. The other softphone will ring. Accept the call, and say 'Hello' - you will see how easy as that. :)
Conclusion
This instructable explained how to add basic VoIP functionality to your Raspberry Pi! This step-by-step tutorial demonstrated how to make VoIP telephone calls from Raspberry Pi. It introduced the necessary hardware and software requirements and presented how to use them to be able to initiate VoIP calls. I hope you enjoyed it! :)