If UPNP or DMZ is not an option for you (or you want more security), you can manually forward some ports to get NAT Type OPEN for Call of Duty Modern Warfare 3.
28960 is the port that COD has always used, but you need some steam ports too. The screenshot below might have some ports that are only needed for outgoing connections but documentation is really hard to find about these ports. It works for me with these ports.
To sum up the ports: 28960 (TCP+UDP), 1500 (TCP), 3005 (UDP), 3101 (UDP), 2700-2704 (UDP), 2715-2717 (UDP), 3074 (UDP). You have to forward these ports in your router/modem to your PC. I suggest you read documentation or search the Internet on how to forward ports for your router/model type.
Remember that if you have Windows firewall of another software firewall on your PC enabled you need to add an exception for all these ports in the firewall.