when the 2 clients use the same router as a gateway, we can use voice in our msn messenger 7.0.
but when each one use a different router as a gateway we can not
use voice in msn, but we still can send instant messaging and all is ok !!!!
i want to understand is it a MSN Messenger problem or Router Problem, how can we use instant messages without voice but if we use the same router as gateway it works fine
Text messages work fine in all cases, because each of your hosts has established an (outgoing) connection with messenger's Internet server and text messages pass through it. For Voice and Video chat though, a direct connection between the two hosts has to be established. Normally, the client sending the invitation opens a port and notifies the other host to establish a connection at that port.
If all hosts belong to the same network and there is no local filtering in them, there must not be any problem, because nothing interferes among them at the connection layer. But in case where hosts belong to different networks, packets are passed through one or more routers, and depending on each one's configuration, it is possible they are droped or denied. So you should verify the rules and security policy of the routers, to make sure something related is not filtered out. You could use a sniffer to make your task easier, seing what comes out from / arrives to somewhere and what doesn't.
PS. Also, you do not use NAT anywhere in your scenario, right?
Just as nske said I would also use a sniffer right away to check what ports the voice part of msn uses as opposed to a text message packet, as well as any other differences.
I seem to recall hearing that MSN messenger changes its ports frequently during communication as well. You might want to look into that as well in case you have to open those ports on the problem router.