Once you have that you can block media transfer, or if the clients use peer to peer media transfer at least block the call signalling.
After this it is only a matter of keeping the list of IP's updated which you could easily do by ongoing logging of bandwidth used.
Bandwidth usage pops up in your logs that somehow resembles the profile of a call - investigate by doing a simple test and then block the IP.
Erm, well...I suppose this could be done if you're fond of the "navigating through the digestive terminus to arrive at the synovial hinge" method[1]. There are several much easier and much less lossy ways of blocking voice transmissions streams that doesn't involve continuous and arduous logging of IP addresses or even blocks of IP addresses.
---
[1] also known as "going through your ass to get to your elbow"
Still my point remains valid I believe: The OP claimed with certainty that no one could know if a call is being made which is wrong.
But you can outline your ideas on how to detect a call attempt without "going through your ass to get to your elbow" as you put it.
I still feel that blocking IP's or ports is an easy solution for governments that feel the need to censor.
All you need to do is profile for relatively constant data transfer rates over the course of many minutes that exceed a very low minimum.
If Whatsapp uses a media proxy for calls then you could just trigger on connections made to these servers where these data transfers in question occur.
But even if they don't use a media proxy they'll the clients will connect to specific IP's for call signalling and that's when you'll also know that a call was attempted.
I'm neither defending Saudi Arabia nor Whatsapp, just wanted to let you know that there are very simple ways to detect calls. I'm sure that there are even better, much more advanced techniques that are currently in use by both oppressive (and likely our) governments.