I have a public IP address, I have asked my ISP. 2 technician were here yesterday and today from ISP, they have no idea.Obviously you have NAT since that is the reason you have to port forward or use DMZ.
The most common issues when you think you have the router configured correctly is the program is not actually listening on the port you think it is and/or you do not actually have a public IP address being assigned to the wan port of your router.
Then make sure your server actually is active on the port. You can run wireshark and see if the packet arrives and if the server responds.