I have no idea how your cell phone is accessing your home network, so I am going to declare that hint a "red herring" and generalize your situation. If this over-simplifies your situation and renders this answer useless, I apologize.
Most folks use a "router" on their home network. It's really a "network address translation" or NAT router. You can tell if your home network is using NAT if your home IP address is "private". Private addresses are usually 192.168.x.x. There is also the 169.254.x.x self-addressed network block, which is also private. There is a hint in your note that you are trying to go through a private address. No can do.
You can configure most NAT routers to "open a port" for your home computer on their public IP address. So, for example, you could configure your home router to open port 80 on the public IP address assigned by your ISP to your router for access to port 80 on one of the private address home computers (eg, 192.168.1.150).
So what you need to do is:
1) configure your home router to open a port to one of your internal private addresses.
2) from outside (at work) use the public IP address of your home router and the port number you mapped to your home computer
Unfortunately, that is but one port and one service. Some routers have the ability to map all their ports to one private IP address, but that opens a lot of vulnerabilities in your home OS to outside attacks, so be careful.
Also note that ping and traceroute won't work on these port mappings to get all the way to your desktop at home, but if you recognize your home router public IP address, you know you got to your premises, if not through the router and back again. That is often enough to test connectivity. If a traceroute to your router public IP address works, then you aren't blocked.
The other alternative if you are using one computer at home is to plug it directly into your DSL or cable modem. Again, your OS is now open to more attacks so maintain patches and high security configurations, but a temporary setup like this might help you debug your desktop's application that you are trying to connect to from work. Then you could fall back to a port mapping through your router and debug that separately from your desktop service configuration.
I just tried pinging and tracerting 74.125.53.100 which I believe is google's IP. Those are failing in the same way as my home ip. – Bob – 2009-10-30T14:18:14.230
Use telnet instead of ping, with some other port (whichever port over which you actually want to communicate with the home computer). – harrymc – 2009-10-30T15:05:23.123
probably block ping. try a tracerouter, and also try setting a port like your router's open to the internet. set remote management on your router to say port8080 and see if you can get to that at work, should help solve your problem – alpha1 – 2009-10-30T15:06:34.710
So your home IP is not that 169 address? And that 169 address is not a 169.254.x.x address? And how are you trying to access it and what works on that cell phone? (Like web browser, FTP, telnet, SSH, file sharing, screen sharing, only ping, ...? No need to try them all, but: what are you trying?) – Arjan – 2009-10-31T08:48:14.010