Most ISP's use dynamic IP allocation, so there is no guaranteed IP to your home network, and often you also get at least one layer of NAT as well, so your home connection will be behind a NAT router before your own one, often two or more. You pay to have a static IP, so you will need to have a server somewhere in a data centre that, at a minimum, runs NAT traversal, which is a service offered by many, eg DynDNS, who will do the NAT traversal for you, so the local machine can be reached from anywhere, using the control to coordinate the NAT, and allow both sides to then communicate directly.
No way to do with a home connection, unless you pay for a public IP, which is typically a business grade connection.