I had the same issue and tried all the troubleshooting I could but no resolution was found until I contacted my ISP and they provided me a public IP. After that I have had no issues. Usually an ISP gives everyone a public IP but mine was one that didn't. So that is worth checking with you ISP.