BF2142 is stupid - I can't even play the demo because you have
to log in, and I'm on a portblocked University network so I can't reach the master server either. That is one stupid, stupid oversight - no offline login like BF1942, BFV and BF2... why?????
Well done, EA - I'll be rushing out and buying a copy for all of my friends this Christmas, everybody needs to have such beautifully crafted, well-thought out software.
In response to your actual question, though - try putting your machine in the DMZ temporarily (if you've got a router), then try again. You'll then be able to see if it's your port forwarding that's screwed up or if there's another problem hiding somewhere.