Well the only reason why that would be the case is if your router is blocking access of certain ports from the internet.
This means the following:
Suppose your Internet IP address is: 67.10.100.23
If I try to connect to your server via 67.10.100.23:27015 your router has no idea where to send this request (which computer should service this on your local network). Also, your router's firewall might be outright blocking this port.
In order to overcome this, you need to setup a "Service" or "Port Forwarding" to pass through the router to your computer. Basically you need to pass the following ports to your internal lan ip address (say 192.168.1.5):
UDP 27000 - 27020
TCP 27015 - 27039
UDP 1200
Note: Packet Types
UDP = Streaming traffic, such as position data from server->client, streaming video/audio, etc.
TCP = Normal internet traffic, reliable, requires confirmation
I really can't help you much more than that, read your router's manual to learn how to port forward. Some cheap routers don't let you port forward, if you are in this situation you either have to connect your computer directly to your ISP modem OR shell out some $$ for a new router.