I had an issue where Wi-Fi Calling (VoWiFi) worked on other Wi-Fi networks but would not activate on my home network.
My setup:
- iPhone with Claro Colombia
- Omada gateway and access points
- Two Pi-hole instances handling DNS for the LAN
- No custom Omada Gateway ACL rules affecting outbound traffic
At first, I suspected a firewall issue: IPsec pass-through, UDP ports 500/4500, NAT, or an Omada ACL rule. However, the gateway had no deny rules and there was no evidence that outbound traffic was being blocked.
The actual problem was Pi-hole blocking a required DNS record.
How I found it
I opened the Pi-hole Query Log, filtered the results by my iPhone’s LAN IP address, and searched for epdg.
I found repeated blocked DNS requests for:
epdg.ims.mnc101.mcc732.pub.3gppnetwork.org
This is the Claro Colombia ePDG hostname. ePDG stands for Evolved Packet Data Gateway; the phone uses it to discover the carrier endpoint needed for Wi-Fi Calling.
Because Pi-hole blocked the DNS lookup, the iPhone could not establish VoWiFi while connected to my home network.
Fix
I added this exact domain to the allowlist on both of my Pi-hole servers:
epdg.ims.mnc101.mcc732.pub.3gppnetwork.org
In Pi-hole, I went to:
Domains → Add domain → Add to allowed domains
I used an exact allow entry, not a wildcard.
After allowing the domain, I reconnected the iPhone to Wi-Fi, toggled Airplane Mode/Wi-Fi, and Wi-Fi Calling activated immediately.
Troubleshooting advice
If Wi-Fi Calling works on other Wi-Fi networks but not at home, check Pi-hole before opening ports or changing firewall rules:
- Find your phone’s LAN IP address.
- Open Pi-hole Query Log.
- Filter the log by that IP.
- Search for
epdg. - Also search for
imsand3gppnetwork.org. - If Pi-hole blocks an ePDG domain, allowlist the exact FQDN on every Pi-hole or DNS resolver the phone may use.
Do not copy my Claro Colombia hostname blindly. Each carrier may use a different ePDG hostname.
In my case, no port forwarding, firewall changes, Omada ACL rules, or timeout changes were needed. The entire issue was a blocked DNS query.
Source: r/pihole · by /u/Little_Artichoke_331