Self-host MDD Sim Gateway
v1.14.0Private VoWiFi and cellular gateway for SIMs and eSIMs
- Stars
- 676
- Storage
- 2 GiB free on root filesystem (8 GB+ recommended)
- Port
- 10443 (HTTPS management UI (container deploy, host-mapped))
- Requires
- Docker Engine, ModemManager, NetworkManager, Pcscd
What is MDD Sim Gateway?
MDD Sim Gateway is a self-hosted multi-SIM communication gateway that lets you use physical SIM cards and eSIMs for VoWiFi calling, SMS/MMS, and 4G cellular data on your own hardware. It supports cellular modems and USB PC/SC readers, handles EAP-AKA and IMS-AKA authentication entirely on the SIM (never extracting Ki/OP/OPc), and routes each SIM's ePDG traffic through a chosen country exit via independent TUN interfaces (host install) or SOCKS5 (container deploy). The web console provides a browser-based softphone, SMS/MMS messaging, call logs, missed-call notifications, per-line voicemail, balance/keep-alive monitoring, and automatic updates. It integrates with Telegram, PushPlus, Lark/Feishu, and generic webhooks for notifications. Two deployment modes are documented: a host-assisted install on Debian/Ubuntu/Armbian ARM64 that sets up systemd services and Docker engines, and a fully containerized Docker Compose deployment for any amd64/arm64 Linux including Synology NAS. The project is licensed GPL-3.0-only and builds on upstream components including pagecat/vowifi_gateway, sysmocom Asterisk, sing-box, and lpac.
Should you self-host MDD Sim Gateway?
MDD Sim Gateway scores 53/100 on selfhost.directory (how scoring works) and ranks #11 of 16 in VoIP. It has 676 GitHub stars.
It shipped 10 stable releases in the past year. The latest, v1.14.0, came out on 14 October 2026. New versions land roughly every 3 days.
Setup is advanced: plan for several services and some ongoing maintenance. It is GPL-3.0-licensed and written mostly in Python.
Its closest alternative on selfhost.directory is Mumble (71/100, 8 371 stars). It scores higher overall, so compare the two before you pick. See MDD Sim Gateway vs Mumble side by side.
Features
- 4G cellular data management
- Automatic updates with channels
- Balance and keep-alive monitoring
- Bilingual web UI (Chinese/English)
- Call logs and missed call notifications
- Carrier identification (offline AOSP Carrier ID)
- eSIM profile management (lpac)
- Hardware auto-detection
- Multi-SIM management (up to 10 lines)
- Notification channels (Telegram, PushPlus, Lark, Webhook)
- Per-country network egress
- Per-line voicemail
- SIM authentication without key extraction
- SMS and MMS messaging
- VoWiFi calling via browser softphone
MDD Sim Gateway README
FAQ
Why can't VoWiFi register even though the page loads?
Check the reader/SIM channel, country egress UDP, ePDG resolution, SWu and IMS status. Software support doesn't guarantee the carrier allows Wi-Fi Calling for that SIM, plan, region, or device identity.
Will enabling 4G affect my NAS network?
Verify the NAS default route still points to the original LAN gateway. Cellular profiles use never-default, allowing Hardware to manage only cellular interfaces. If other interfaces are taken over by NetworkManager, the system will disable cellular config.
Why can the NAS browser access a proxy subscription but Egress cannot?
If the subscription URL uses the NAS's public domain, set MDD_NAS_HOSTNAME to that domain so Egress resolves it to the Docker host gateway internally. Don't change the URL to a container IP or modify NAS global DNS.
Why doesn't my card reader appear?
Check if host pcscd or another container is using the device. The Hardware container includes pcsc-lite, libccid, and validated reader patches; host pcscd should not run simultaneously.
What does 'PIDs limit discarded' in startup logs mean?
DSM 7.4's 4.4 kernel doesn't support pids cgroup, so Docker ignores the pids_limit setting in Compose. This warning doesn't affect operation; memory limits still work.
Why does dependency fail to start with Hardware unhealthy after rebuilding the project?
New Hardware containers inherit residual QMI sessions from the modem. Wait 1-2 minutes for the modem to reset and re-enumerate, then click Start (not Build) in the project page.
Why is the Hardware container unhealthy?
Check that USB devices are enumerated on the host and required device nodes are present. Missing nodes indicate missing kernel drivers. After a system upgrade, drivers must be rebuilt for the exact kernel version.
More in VoIP
MumbleOpen-source, low-latency VoIP software: run the mumble-server self-hosted via Docker or binaries, with positional audio, game overlay, and Ice RPC admin.
mumble-dockerSelf-hosted, open-source Docker image for running a low-latency Mumble voice chat server with SQLite, MySQL, or PostgreSQL backends and automatic TLS via Let's Encrypt.
openSIPSOpen-source SIP proxy/server for VoIP, video, IM, and presence with modular architecture and high throughput.
RoutrA self-hosted SIP server handling signaling only, built as cloud-native gRPC services. Works with Asterisk and FreeSWITCH media servers.
TeamSpeak 6 ServerSelf-hosted TeamSpeak 6 voice server in beta: run it with Docker or a Linux/Windows binary, using SQLite or MariaDB, plus optional Prometheus metrics.
WhatomateSelf-hosted WhatsApp Business Platform with calling, visual IVR, S3 recordings, chatbot, campaigns, and team inbox — all on your infrastructure.
Yeti SwitchYeti Switch is an open-source, self-hosted SIP SBC and Class 4 softswitch with real-time VoIP billing, dynamic routing, and a REST API.
AI Native Call CenterSelf-hosted open-source call center where AI agents answer every call by default, with seamless human handoff on FreeSWITCH and PostgreSQL.
AIReceptionistSelf-hosted AI receptionist using OpenAI Realtime API for natural voice calls via SIP, replacing costly SaaS alternatives with FAQ, transfers, and messages.
AsteriskAsterisk is a self-hosted, open-source PBX and telephony toolkit written in C for business telephone systems with VoIP/SIP, PSTN, and APIs (AMI, ARI, AGI).
AVA CoreOpen-source, self-hosted AI voice agent for Asterisk/FreePBX telephony with realtime providers or modular STT-LLM-TTS pipelines, managed from a web Admin UI.
avhost/docker-matrixSelf-hosted Docker image for running a Matrix Synapse homeserver with integrated Coturn TURN/STUN server for federated chat and VoIP.






0 comments