How-To: Split DNS for Wi-Fi Calling: Resolve 3gppnetwork.org via German DNS while keeping global upstreams

Wi-Fi Calling on Telekom/Vodafone only works reliably for me when the relevant IMS/ePDG hostnames are resolved via German DNS servers. Since my network uses a non-German upstream DNS by default, I implemented split DNS so that only 3gppnetwork.org (Wi-Fi Calling related) is resolved via German DNS, while everything else continues to use the usual upstream. In this post you’ll find step-by-step instructions for both Pi-hole and AdGuard Home.

PiHole v6+

PiHole -> Settings -> System: enable expert check box

PiHole -> Settings -> All settings: enable all settings

PiHole -> Settings -> All settings -> Miscellaneous

Find: misc.dnsmasq_lines

add:

server=/3gppnetwork.org/GERMANDNS1
server=/3gppnetwork.org/GERMANDNS2
server=/pub.3gppnetwork.org/GERMANDNS1
server=/pub.3gppnetwork.org/GERMANDNS2Code-Sprache: JavaScript (javascript)

Replace GERMANDNS1 und GERMANDNS2 with the IP from your German DNS (for example your ISP DNS)

AdGuardHome

Einstellungen -> DNS Einstellungen

Upstream-DNS-Server

add:

[/3gppnetwork.org/]GERMANDNS1 GERMANDNS2Code-Sprache: JavaScript (javascript)

Replace GERMANDNS1 und GERMANDNS2 with the IP from your German DNS (for example your ISP DNS)