Would it be accurate to assume your VM server has multiple network cards. Set NIC1 (ETH0) would be your 192.168.141.X network and NIC2 (ETH1) would be connected to the 10.200.1.X network or directly to SIP providers hardware.
Only 1 gateway - correct. The gateway address is where your computer will default send all network traffic that it it has NO SPECIFIC rule set for. 192.168.141.1 will get the PBX to your phones and out to the internet etc.
NOW where things get a little complicated, but not really that bad.
Your VoIP provider will have given you a local IP to use and their VOIP server IP somewhere in their network.
Based on your information, you’ve got ETH1 set to 10.200.1.21 /24. The gateway for this IP is 10.200.1.1, but you don’t configure that on the ETH1 interface config. If you did, your system would try and send data intended for your local 192.168.X.X network through that gateway and your VoIP provider is just going to reject it and the traffic will timeout and you have mass hysteria and dogs and cats living together.
Your VOIP provider likely gave you an IP(or host) of their SIP Proxy. Lets say its 173.16.10.50. The only way your machine, as it is at this point of the config, will send traffic out ETH1, is if the traffic is going to the same internal network of 10.200.1.0/24. As it is, if you try and go to the 173.16.10.50 address, its going to go out the default gateway. Instead, what you’ll do is specifically tell the system to send that traffic out ETH1, to the gateway address for that network. (and you had the command pretty much right)
route add -net 173.16.10.50 netmask 255.255.255.255 gw 10.200.1.1 dev eth1
Even though you didn’t tell your computer the gateway address of ETH1, the SIP router connected to ETH1 is listening…and the route will send that traffic to that device and it should respond!
That make sense?
Here’s a pic…