Just to add on to this, occasionially certain ISPs (such as Verizon FiOs) cause SRB2 to use a non default port (the default is 5029) for some reason. It's often a number above 60000 from my experience. If so, when opening ports, do a range of 60000-70000 along with 5029 if you want to be able to host with this problem. You may also activate DMZ on your LAN IP which will open all ports on that LAN IP.
Sometimes, these people have trouble getting people to join by IP. SRB2 automatically attempts to connect to 5029, which may not be the port the host is using. If you are using the Master Server, SRB2 automatically adjusts the port. Sometimes it works fine just by joining their IP, but other times you may need to add the port number (1.1.1.1:65403) when trying to join. The only problem is that the only way to find out your port number is to host on the Master Server. For private servers, host on the MS, do "listserv" in console, locate your server, copy down the port, then do 'internetserver no' in the console to take it off the master server. I sometimes have to do this, but usually people can join naturally by IP.