Vodafone’s “Wifi Calling” (sometimes named “WLAN Calling”) technical documentation is very poor, so I’ll try to summarize some points I learned.

Disclaimer

These are information I learned and use as of August 2022, they might neither be complete nor fully correct. And beware that things might change over time, so the information may be outdated when you read this.

This description only applies to Vodafone’s WiFi Calling! The WiFi/WLAN Calling feature from other providers work differently and most do not have the DNS restrictions described below.

Where the phone connect to

Destination IPs

The phones using Vodafone’s WiFi Calling will connect to IPs from the prefix 139.7.117.160/28.

Destination Ports

and thy will connect by UDP to destination port 4500 and 500 on these IPs.

DNS is important !

Currently Vodafone Germany allows WiFi Calling for their German customers only from Germany, but they do not check the phone’s public IP to decide where it comes from. Instead they use the IP address the DNS query comes from.

This has the consequence that the DNS server you use must have a geolocation IP from Germany.

As of my knowledge these DNS servers do not work:

  • Google’s public DNS-resolver (8.8.8.8 + 8.8.4.4)
  • COLT DNS servers for their (enterprise) customers in Germany

while the following can be used:

  • OpenDNS (208.67.222.222 + 208.67.220.220)
  • German Telekom
  • Telefonica/O2
  • Kabel Deutschland/Vodafone (of cause 😉)

How to solve this, if WiFi Calling won’t work with your DNS provider?

If you can configure your DNS server and (!) if it’s public IP is in Germany, you can define a DNS-domain specific “forwarder” for the Domain vodafone-ip.de pointing to it’s name servers directly.

You can find out the name servers for vodafone-ip.de by using a command like

nslookup -type=ns vodafone-ip.de

or

dig +noall +answer -t ns vodafone-ip.de

As of now (August 2022) the name servers are

ns1.arcor-ip.de	= 145.253.2.19
ns2.arcor-ip.de	= 145.253.2.80
ns3.arcor-ip.de	= 145.253.3.171

DNS forwarding with ISC’s “BIND”

Find out the IPs of the name servers for vodafone-ip.de as described above and insert into the BIND’s configuration file (eg. /etc/bind/named.conf) something like using the discovered IPs.

zone "vodafone-ip.de" IN {
     type forward;
     forward only;
     forwarders { 145.253.2.19; 145.253.2.80; 145.253.3.171; };
};

Conditional DNS forwarding with Microsoft DNS

  1. Open the “DNS Manager” and connect to your DNS server, if not already connected.
  2. Expand the configuration tree of this DNS server and
  3. chose “Conditional Forwarding” / “Bedingte Weiterleitungen”.
  4. Add the domain vodafone-ip.de and add it’s name servers
  5. Now all requests for names within vodafone-ip.de will go directly to the name servers instead of you global forwarders.
Windows DNS server with conditional forwarding for domain vodafone-ip.de