I have seen some interest in VoIP/SIP calling from the L5 so I thought it might be useful to make a post showing that it is possible.
I used an app called Twinkle that can be found in the PureOS store. On first launch, it asks you to configure a profile. I configured it using the SIP credentials from my existing Flowroute account. Following that, it takes you to the main page, which looks like this:
From there, you can click Call in the top left, type a number, click OK and the call begins. I was able to call and communicate with my other phone using either WIFI or 4G via Red Pocket SIM on the L5.
As you can see from the screenshot, the interface isn’t quite optimized for mobile but it is completely usable.
I wasn’t able to receive calls yet, but that is the harder part since the device has to receive incoming connections from the SIP provider. I remember that being difficult when I set up my FreePBX server last year. I am not an expert in SIP, I just had some IP phones lying around and thought it might be fun to try to get them working. It should be possible on the L5, I just haven’t taken the time to figure it out yet.
Oh, that is beautiful. While I was writing this post, I thought briefly about how cool it would be if the calls app had SIP support. But I didn’t take the time to check the repos. I may try out those patches if I find the time.
I would really like to have VoIP on Librem 5. In fact it is only half way (as a private phone) as long as we are forced to rely on operators. If we can get a net connection (using cable or WiFi) it should be possible to call using VoIP.
The big BUT is that there is no “phone book” for VoIP so at some point you must go through an operator - at least for the moment. Of course it would be a nice step forward to have a voice calling system already for your family and friends which can make up about 90 % of all calls. There are voice calling systems but only experimental - none that is as standardized as old fashioned phone number calling. And none as simple.
Anyway I see every step towards a real universal VoIP with satisfaction.
If you want to make it somewhat transparent (depending on how the call apps work on their phones), you could setup FreePBX with a dial plan that uses the same numbers that you normally use and have your friends and family connect to that. You can configure it for SIP and a Let’s Encrypt Certificate. You can have it fail over to another operator if the person that you are calling is not connected or not on the private PBX. Setting one of these up is a great way to ensure that it is private, but it is a bit of work to setup and run. Ideally, another trusted company could run this so that anyone can join. There are VoIP providers that are probably already setup with encryption. I have not looked much into these providers, but having a small list to start with may be helpful:
Ideally, the voice channel would be peer to peer, but because of NAT, that is often a difficult thing to do. The good news is that NAT is a IPv4 problem, and as IPv6 becomes more widely used, it should be easier for SIP phones to make a more direct route from phone to phone, so that your conversation does not need to travel over as much public infrastructure.
… which comes in two parts. First of all, there is the basic NAT issue that almost all home users using IPv4 have. Then there’s the specific issue if the phone is accessing the internet via the mobile network (as opposed to via WiFi). In that case, for some providers, you won’t even have a public IP address, so you have to deal with NAT when you don’t control the internet-facing hardware.
On top of that therefore, given the desirability of using the HKS on the Librem 5, you also have to deal with randomly switching between those two scenarios (via WiFi v. via the mobile network).
With all that NATting the encryption then gets trickier too.