I would like to use a SIM7600X 4G Expansion Board (like this one) to connect my raspberry pi to the mobile network.
In this raspberry pi I am also running an XMPP server.
I want to then create an account that will bridge SMS messages between the SIM7600 and my XMPP account (should be easy), and ideally it should also be able to bridge phone calls (might be difficult?).
I know about the XMPP-VoIP JMP.chat, and since they are open source I can get some inspiration from them.
I will try to implement something myself, but I am not an amazing programmer. So I am wondering whether there is already some open source project that is more tailored for this application.
Thanks, I will look into those.
At the moment I am using a SIP service - at least I think I am. Is JMP.chat a SIP service? It works to a degree for me but there are many drawbacks. I can’t get a number from my country, many services recognize and block the phone number as a VoIP phone (for example, telegram), and I have to trust an additional intermediary to get my unencrypted SMS and 2FA codes. I do trust the service providers to a reasonably high degree, but I don’t think it is wise to associate their numbers with sensitive accounts such as my bank account.
The VoIP idea is not the reason why I began playing with these boards in the first place, though. It is an idea that I thought of while playing with these modules. And I don’t use mobile plans. I use sim cards that I can top up when needed, so the cost is about $5 every 6 months or so for the home base, and about ~$5 a month for the data I use for my mobile router. The reason why I want to control the device through the raspberry pi is that then I also have more fine-grained control over the top-up process and I “own” my phone number without an additional intermediary.
I see, yeah, reasonable point about some services not liking hosted phone numbers. I haven’t had serious problems with that, but it is a thing.
If you can use those sims in mobile phones then I’d call them mobile plans. Can I ask what country you are in? Here in the US, mobile service costs a lot more. I have been getting SIP service from vitelity.net but twilio.com and voip.ms are better known here. I don’t know about jmp.chat.
I haven’t had trouble using a hosted number for banking and it feels better to me than using a mobile number. The cheap mobile providers (MVNO’s) I use here are sketchy, mobile numbers change all the time, etc. I use a VoIP number as my permanent stable number and forward it to my mobile. So if I switch mobiles, I just change the forwarding. In theory you can port phone numbers between carriers but I’ve had significant hassle doing that. That’s just here though. It may be different where you are.
The Netherlands. I just checked and it is €10 for 5GB/month or €8 for 5GB month if one pays for a year: https://www.lycamobile.nl/en/bundle/monthly-plan-xs/?m=12
But in the shops they have signs with deals and you can get often get codes for cheaper. They print out the codes for you and you can top-up by issuing a USSD code when needed. I buy a stack of codes, type them into my notes app, and use them when I need them. Since I commonly have WiFi available I sometimes go months without activating them.
In the home base I wouldn’t need data, as it is interfacing through the raspberry pi. Most of my phone activity is getting codes for 2FA for some important services that force me to. Since I rarely make calls, I can top up €5 of credit when needed. I need to make sure to top up every 6 months so that the SIM does not get deactivated. That’s why estimate ~€10 for every 6 months.
This works for me because I do not use the standard phone features (SMS and calling) often. If it were up to me, I would not have the phone functionality at all and simply keep the data. But sometimes I need a phone number. The purpose of this project is to keep the convenience of having a phone in the rare cases I need it without constantly having on me a device broadcasting unique identifiers. As for why go self-host route… I think the same can be said for many other self-hosting projects, it is nice to have more control. It is not really about the money. Saving money is part of the fun, and that is an easy way to “justify” what I’m doing… but the reality is that any savings argument probably gets thrown into the BS pile when we account for the time invested, failed attempts, and the extra stuff I buy for trial and error. Ultimately for me it’s really not about money, it’s about being mindful, learning, and having fun.
I have found VoIP numbers from Canada and the US, I am not sure if it is easy to get one from the Netherlands. I have experience being banned from sites immediately after registering with the VoIP number because of “suspicious activity”.
That is interesting, the least you can pay for a sim here is about 2.5 USD/mo as far as I can tell. A phone number by itself is about 1 USD/mo. Vitelity no longer seems to show prices on its public site, but Twilio has NL mobile numbers for 6 USD/mo which seems pretty high to me: https://www.twilio.com/en-us/voice/pricing/nl
SMS for 2fa is deprecated here because of insecurity and TOTP is generally preferable. Can you use that instead?
I understand about DIY and am interested to hear how this goes for you. I might like to try it myself.
Thanks for checking!
My first choice is a YubiKey, second choice is the Aegis Authenticator app, and the phone I only use for services that force me to. A few still do, unfortunately!
If I manage to set up something that I think is interesting and functional enough, I will post about it 😄