gitwtfhub

wtf is vowifi_gateway?

pagecat/vowifi_gateway — explained in plain English

Analysis updated 2026-05-18

29PythonAudience · ops devopsComplexity · 4/5Setup · hard

TL;DR

Plug a real mobile SIM card into a Linux server and use your phone number for calls and texts from any internet phone app, without needing the physical phone.

Mindmap

mindmap
  root((repo))
    What it does
      Bridges SIM to SIP
      Handles calls and texts
      Works over WiFi calling
    How it works
      USB smart-card reader
      Encrypted carrier tunnel
      Registers with carrier IMS
    Setup needs
      Linux or Raspberry Pi
      Docker required
      Smart-card reader hardware
    Use cases
      Receive texts on desktop
      Route mobile calls to desk phone
      Manage eSIM profiles
    Dashboard
      Built-in softphone
      SMS inbox and outbox
      Light and dark themes

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Make and receive mobile calls from a desktop SIP softphone without keeping the phone powered on.

REASON 2

Send and receive SMS messages through a web dashboard using your real mobile number.

REASON 3

Route your mobile number into an office phone system like Asterisk for unified communications.

REASON 4

Download, enable, and switch between eSIM profiles on a dual-SIM chip from a web interface.

What's in the stack?

PythonDockerWebRTCSIPLinux

How it stacks up

pagecat/vowifi_gatewayadityasharmadotai-hash/docs-reader-rag-agentahang008/ah-talent-finder
Stars292929
LanguagePythonPythonPython
Setup difficultyhardeasyeasy
Complexity4/52/52/5
Audienceops devopsvibe codergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · hard Time to first run · 1h+

Requires specific hardware including a PC/SC smart-card reader and a carrier SIM that supports Wi-Fi calling, plus a Linux host.

No license information is provided in the explanation, so the rights and restrictions for using this code are unknown.

Wtf does this do

This project is a gateway that bridges a physical mobile SIM card to standard internet phone software. Normally, a SIM card lives inside a phone and connects to a carrier's network over cellular or Wi-Fi calling. This gateway takes that same SIM, plugs it into a Linux server using a USB smart-card reader, and exposes the phone number as a SIP endpoint. That means you can make and receive calls and text messages from any SIP-compatible softphone, desk phone, or phone system like Asterisk, using your real mobile number without the phone being present. The system works by reading the SIM's built-in credentials through the card reader, then establishing an encrypted tunnel to the carrier's Wi-Fi calling infrastructure. Once that tunnel is up, it registers the line with the carrier's IMS core, which is the backend system carriers use for voice and messaging over IP. From there, the gateway presents the line to your local network as both a browser-based WebRTC phone and a standard SIP server with two-way voice. Outbound calls from your SIP client go out through the tunnel, and inbound calls from the carrier ring your SIP clients. SMS messages are handled the same way, bridged between SIP messages and the carrier. Setup requires a Linux host (a Raspberry Pi works), Docker, and a PC/SC smart-card reader, plus a SIM from a carrier that supports Wi-Fi calling. The project includes an installer script that handles Docker setup, builds the engine image from source, and starts a web dashboard. You open the dashboard in your browser, insert the SIM, click Provision, and enter the SIM PIN and an IMEI. The system then walks through a state machine from tunnel down to registered, at which point you can dial out from the browser or connect external SIP clients to the server's IP on standard ports. The gateway also manages eSIM profiles locally, including downloading, enabling, disabling, and deleting profiles on embedded SIM chips. Dual-SIM eUICC cards like the ESTKme Max are supported, showing both chip identifiers and letting you pick which one to use before downloading. The dashboard provides a softphone, an SMS inbox and outbox, and the eSIM management interface, with both light and dark themes. The full README is longer than what was shown.

Yoink these prompts

Prompt 1
I have a Raspberry Pi, a USB smart-card reader, and a SIM card with Wi-Fi calling support. Walk me through setting up vowifi_gateway so I can make calls from a SIP softphone using my mobile number.
Prompt 2
Help me connect my Asterisk phone system to vowifi_gateway so inbound mobile calls ring my desk phones and outbound calls go through my mobile carrier.
Prompt 3
I want to use the vowifi_gateway dashboard to download and switch eSIM profiles on my ESTKme Max dual-SIM chip. What steps do I follow after opening the web dashboard?
Prompt 4
My vowifi_gateway is stuck at the tunnel-down state and will not register with the carrier. What are the most common causes and how do I troubleshoot it?

Frequently asked questions

wtf is vowifi_gateway?

Plug a real mobile SIM card into a Linux server and use your phone number for calls and texts from any internet phone app, without needing the physical phone.

What language is vowifi_gateway written in?

Mainly Python. The stack also includes Python, Docker, WebRTC.

What license does vowifi_gateway use?

No license information is provided in the explanation, so the rights and restrictions for using this code are unknown.

How hard is vowifi_gateway to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is vowifi_gateway for?

Mainly ops devops.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.