Your problem will be due to the NAT/Firewall of the Dlink. In order for the Tenor to receive and send VoIP, you need to map a public IP address to each unit. I do not believe you will be able to do such a thing with D-Link. In fact, I am not sure you will be able to do this with any small router and you would need to get 4 public IP addresses from your ISP, 1 for each unit. One alternative is to use a small Tenor Call Relay. You need a public static IP address (not dynamic) and you need to connect the Call Relay to your D-Link. Have your dlink provide a static private IP to the Call Relay and setup so that it maps the public IP through to the Call Relay private IP. Then you setup the 4 tenors behind the dlink with private ips and put them to the Call relay for all outgoing calls and have the Call relay configured with static routes back to the private IP of the gateways. In this way, all calls that originate from your gateways, go through the call relay which uses the public IP out. All calls coming from the internet are sent to the public IP, which goes to the call relay and then out to the gateways.
One thing to watch out for is that many of the dlink units did not support VoIP. They may now, but you need to check on this.