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.
If I understand what I’ve read, you may be interested in a SIP software called asterisk. It may do what you’re looking for.
Did a little digging and this might be a decent starting point! https://www.mundoopensource.com.br/en_page_xmpp_asterisk_pratical_example/
That’s a nice little board! Web search SIM7600X finds various code you can use. Idk if asterisk can support it directly though.
Another possibility might be to use a consumer mobile phone I guess.
I wonder if there might be a 5g version of the board sometime.
Very strange line from specs.
USB Driver Windows XP/7/8/10/11, Linux (driver free on Raspberry Pi Raspbian system)
Does it mean binary blob driver only? and you need to pay for it to use it on PC?
Yeah, it is written funny. But what it means is that the Linux kernel already comes pre-packaged with the drivers necessary to communicate using the protocol used by this device (UART or USB). These Linux drivers (and by extension Raspbian) are natively capable of interfacing via the GPIO pins or via the USB connectors. It is not true that the device is “driver free” as you always need a driver for this, what they meant is that it is not necessary to install any additional drivers for Linux. So “free from installation” I suppose.
Windows does not come pre-packaged with these drivers, so you need to install them if you want to interface with the device via USB. The chip that the board uses for the UART -> USB conversion is the CP2102. This chip is a common chip used in some ESP32 boards, and I think it would work fine with the standard CP210x driver. But on their site they do provide a specific driver for free (SIMCOM_Windows_USB_Drivers_V1.0.2.exe)
I agree, it looks like a nice board!
But… after ordering it I noticed that while the pictures in the website show the “SIM7600G-H” chip - which supports global GSM and LTE bands - the text description specifies that the chip included in the kit is the “SIM7600CE-T”, which supports the Chinese bands. I am not sure I will get the correct version now 😅 But there are other “SIM7600G-H” modules and USB dongles available out there, and from what I have found this chip is a nice option for GSM/LTE projects.
There’s a device called cell2jack that converts your mobile phone to a pseudo landline. It talks to the cell phone by Bluetooth and has an rj11 port that you plug a landline phone into.
I wonder if one can do similar with software on a raspberry pi. That is, use Bluetooth and a mobile phone instead of that board. It’s clunkier but everyone has old phones around, that have the right bands etc. the Pi software could even create a listener port that you can connect to with a SIP client.
Is there a reason you don’t want to just use a SIP service by the way? It would certainly be cheaper than that board plus a mobile plan.
Thanks, I will look into those.
Is there a reason you don’t want to just use a SIP service by the way? It would certainly be cheaper than that board plus a mobile plan.
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.
The board finally arrived and it is indeed the SIM7600G-H, which is the global version.
I tried it on my raspberry pi 5 and struggled a bit because there was a change to the UART interface between the PI 4 and PI 5 and the documentation on this board describes the PI 4. But, after some fiddling around I figured out the correct setting and got it to work. The main difference is that the “UART0” needs to be explicitly turned on because the default debugging UART now uses the UART10 interface that is somewhere else on the board.