VOIP with jmp.chat and gajim

So given that the deadline to have VoLTE with my MVNO (on top of AT&T) is Februrary 2022, I have come to the conclusion that having support on the Librem 5 is unlikely . After all, from AT&T’s perspective they want to force most people to buy phones from them, so limiting the support of other phones makes that more likely. Perhaps I could change to T-Mobile but I wouldn’t be able to receive calls at home probably because I tried it in the past.

I decided to try jmp.chat, which supports text/calls over XMPP. A phone number currently (in their beta period) costs $2.99 a month. The only XMPP client that I found that supports audio calling in debian is gajim. I installed gajim and have been able to use it, even though it isn’t adapted to display perfectly on the Librem 5. The problem is, even though I can make calls to/from the number I purchased from jmp.chat, I cannot get the other party to hear me (from the Librem 5). Using pavucontrol etc. I can see that pulseaudio is getting input the from the microphone. Also, gnome-sound-recorder works fine (I assume this uses pulsaudio but I am not sure). I tried installing gajim on a laptop (running MX-Linux which is debian based). At first, I couldn’t use audio-visual stuff, but it told me what packages I needed. I installed those and noticed my Librem5 had them already. Then it wouldn’t make a call, but from the traceback and searching around, I found out I needed to add the gstreamer1.0-nice package. After I did that, calls from my laptop worked (audio in both directions). I already had the gstreamer1.0-nice package on the Librem 5 too. I have tried using pavucontrol to try different devices, I have also tried different input devices in the audio/video settings of gajim to no avail.

Has anyone gotten calls with jmp.chat working recently? I remember there was a video many months ago (possibly longer) showing it working, but there are videos that show stuff working but rarely talk about what it takes to get it working. Besides, that likely would have been on Amber, while I am on Byzantium. Does anyone, know of any other XMPP clients I could try on Librem 5 that support audio calls? Any ideas on how I could diagnose the microphone issue?

Despite 20+ years experience with Linux and despite the desire to support a Linux phone, I am getting to the point where i might get something like a Pixel 4a and install CalyxOS which will allow me to have privacy from Google and other companies that I don’t want to have my data. I wouldn’t have the hardware switches that the Librem 5 has, but I would be able to lock the bootloader (some banking apps require that) and the phone would be a lot more useful. So I might just give up at some point, go with a phone running Calyx OS and trying selling my Librem 5. At minimum, I need some type of calling (VOIP or VoLTE with SMS/MMS) and Anbox (for some banking apps that are required to be used for 2FA) in order for the Librem 5 to be a daily driver. Currently I can’ t get Anbox to start (there was another of those videos showing that but no useful instructions that I could find). I know I could try SIP instead of jmp.chat for VOIP, but I might end up purchasing a SIP number just to find out I can’t get that to work either.

2 Likes

Have you already tried Pidgin? I know it adapts well, but I haven’t tested the functionality, and I’m not sure about the current state of making voice calls, or if it works on the L5.

Thanks. I had meant to try Pidgin. Installed it. Seemed to have to turn off the purple integration in chatty to get it to work. Was able to make the call, but same problem. Microphone shows working but no sound at other end. As for as chatty goes, it seems to pick up the account I added with pidgin when I reenable purple integration but it doesn’t show any of my xmpp contacts.

1 Like

This may not help you but it might. I have never used jmp.chat but I do have a SIP account from another provider. I was able to add that account to the default Calls app and call my other phone. My L5 does not currently have an active SIM card, so you can be sure it was using the VoIP account for the call. I called my main phone and I had audio going both ways. My L5 is also running Byzantium.

Does jmp.chat give you SIP details? I needed a server, User ID, Password, Port and Transport (UDP/TCP). If so, you could try that by going to the menu in the calls app, VoIP Accounts then Add Account.

1 Like

It does, JMP chat has a support room here (and Librem5 owners, the main developer has one if I recall) OP if you havent reached out there yet too:

https://anonymous.cheogram.com/discuss@conference.soprani.ca

The FAQ is here if needed: https://jmp.chat/faq

Thanks, I will try to figure out how to configure a SIP client tomorrow and give that a try.

So, I was able to configure it for SIP (using the Calls application) and I was able to make a call from a phone to it and it worked (audio both directions). Now my question is, for outgoing calls, how do I choose the VOIP vs regular cell call using Calls? Or if you are logged into VOIP does it use VOIP? My 4G symbol didn’t change to 3G so I am thinking it used VOIP, but shouldn’t that be configurable?

3 Likes

On the Dial Pad tab of the calls app there should be a drop down at the top. It should have an option for your cellular modem (identified by the phone number) and the VoIP account (identified by the name you gave the account during creation. So you should be able to select one or the other when making a call. When the cellular modem is selected, the dial pad is shown but when the VoIP account is selected it just shows a text box.

2 Likes

Hmmm. OK, I guess my previous outgoing calls didn’t use SIP. It seems I have to specify the VOIP account in the Dial Pad and then enter the phone number manually. I was able to make a call that way and verify on jmp.chat that it actually went through them. But I don’t want to have to enter the number manually every time. Do I have to try a different SIP client rather than gnome-calls to achieve this?

Thanks.

You mean you want to use contacts instead of entering the number? If so, I’m not sure if any other SIP client will access the contacts. It’s possible one will, I just don’t know. It looks like there are some related issues being tracked in the upstream Gnome Calls repository: https://gitlab.gnome.org/GNOME/calls/-/issues/356 and https://gitlab.gnome.org/GNOME/calls/-/issues/272

So, support for that will likely come to the calls app at some point. It just isn’t there yet.

Linphone has access to phone contacts on Android, but I don’t know if Linphone works on the L5.

1 Like

Yeah, I just tried Linphone. I was able to work around the display issues and make a call. The call went through but no sound in either direction. I can’t manage to get microphone to work with any calling app other than gnome-calls. I even tried not auto-starting gnome-calls to see if was monopolizing the microphone source or something, but it didn’t make a difference.

Did you try different protocols in the Linphone settings. I’m not sure if that has any effect, but I recall reading something about it in their help section on the website.

Hi @francepat

you can enable VoLTE - it’s not end user friendly and there are quirks (like no ring tone) but since you mention 20+ years of linux experience you can give it a try and it’s reversible. Since it’s provider dependent it might not work for AT&T yet (see coments in the bug)

Regarding SIP: that is being worked on in calls and has even been tried successfully with jmp.chat. I filed https://gitlab.gnome.org/GNOME/calls/-/issues/387 so we can get better documentation for the common cases. SIP in calls isn’t as production ready as 2G/3G voice calls but depending on your requirements it could well be worth a try.

3 Likes

Thanks, I previously set VoLTE on (it didn’t work) and my cellphone provider is telling me that my phone does not support my phone and I will have to use a different phone (actually modem of course) by the end of Feb 2022. T-Mobile apparently is supported, but when I tried in the past the signal was not strong enough at my home (or my previous workplace). Without WiFi calling as an alternative, I would not have a way to make or receive calls except with XMPP or SIP calling. I have SIP calling working with jmp.chat using gnome-calls. I have not gotten any other calling app to work (I have tried many).

Thanks for the suggestions though.

Linphone


the voice calls work very well

jami also
purism@pureos:~$ flatpak install flathub net.jami.Jami

I even managed to receive the video of my correspondent with one of the 2 applications but I don’t know which one.

3 Likes

Thanks. I re-flashed the phone yesterday and tried Linphone again. After choosing the right input audio source setting it did work. Call was pretty clear. I also tried twinkle, which worked but I heard static on the audio. The Linphone interface is a bit difficult to use on the phone since it isn’t adaptive (constantly switch back and forth between portrait and landscape mode), but the quality is good.

Of course the downside is that Linphone has its own contacts database. So I wonder how feasible it would be to read the contacts from the phone contacts DB and sync them with the Linphone version. The Linphone DBs are apparently just SQL; I am not sure about the phone contacts database.

3 Likes

In another post it was stated that it is sqlite.

Thanks. Might be an interesting project to create the linphone contacts database from the phone contacts database.

If you’re on PureOS Byzantium, you can also give the relatively new GNOME Calls VoIP feature a try. It works okay with my SIP account at sipgate.de.