First ensure all the ports are forwarded in your Router and/or Firewall. Review http://www.portforward.com for assistance if you are unsure how to forward the required ports.
Second, once the ports are setup within your router and/or firewall go to https://www.grc.com/x/ne.dll?bh0bkyd2 to ensure that the appropriate ports are Closed and NOT Stealthed.
To do this, once you've entered Shields Up, you'll see two silver horizontal navigation bars. The bottom bar has "User Specified Custom Port Probe", you want to run this specific test.
On the custom port test in the text box between the navigation bars enter "27015 - 27016, 8766" (without the quotes). Run the test, if the ports list as Closed (you'll fail the test) you should be fine. If the ports list as Stealthed, you need to check your Firewalls whether router or software to turn off stealthing.
Rerun the test if you were Stealthed to ensure the ports list as closed.
This worked for me and my friend, we were able to play as Co-Op where as before with the ports Stealthed and 'open' we were not. I hope this helps people connect via Co-Op.
One last bit of advice...
After you finish playing make sure to re-enable Stealth in your Firewalls.
Good luck and enjoy.
