Firewall – QoS settings for Wi-Fi calling on pfSense firewall/gateway

firewallpfsenseqosvoipwifi

The new version of iOS 8 as well as Android supports Wi-Fi Calling with multiple cellular providers including T-Mobile in the US. I am currently running pfSense as the primary Internet gateway for several commercial clients.

On my pfSense gateway, I would like to enable QoS and prioritize Wi-Fi calling and other VoIP traffic above the rest of the traffic on the network. I envision at least 10-20 users simultaneously using Wi-Fi calling on the network, and I want to minimize jitter and bandwidth contention for these connections. In addition, I would like to limit the number of people that can successfully enable Wi-Fi calling, if possible.

In my testing with T-Mobile US, I've seen that a UDP IPsec connection is made to an IP in T-Mobile's IP address space on port 4500. However, I'm having trouble tracking other connection information from there.

My understanding is that the Traffic Shaper function within pfSense is what should be used, but I'm not sure what settings should be chosen. In addition, I'm guessing that I can limit the number of users using Wi-Fi calling using some of the Advanced Settings in the Firewall Rules, but not sure what my approach should be there. Am I going about this the right way?

Best Answer

The following simple fix made a world of difference in T-Mobile Wifi Calling quality on my iPhone 5S on my Asus RT-AC66U! This is based on the findings in the original question here, as well as a T-Mobile support link.

  1. Go to QoS Setup for your router, default is: http://192.168.1.1/QoS_EZQoS.asp
  2. Enable QoS
  3. Add the following User-Defined QoS rules as 'Highest' priority and move everything else to High or lower. Below is a picture of the defaults, after I completed step 3.

enter image description here

Related Topic