When hosting a game of Anno 1602, with the relevant ports forwarded and the process allowed through the firewall, it usually works.
I tried hosting such a game last night, and 2 friends were able to join using my external IP. However, a third friend was not able to connect; my game did not show up in the list of games when he entered my external IP. This problem persisted even after he disabled his firewall. Nor could we connect to a game that he hosted.
In the end, we tried using Hamachi, and the game worked straight away.
What I want to know is:
What could have caused the initial networking problems?
How would one debug such a problem?
How is Hamachi able to send traffic without suffering these same problems?