Here’s one possibility to consider.
First, set up a permanent fixed server, with an API listening for your phone to ping it. If your phone’s IP should change, assuming you’re passing some sort of token to validate that your phone is, in fact, your phone.
When your phone pings that API, the IP would be passed in, and if it’s different from that stored in the fixed server’s database, it could simply log your phone’s current IP, regardless of which router/network you’re on.
Then, when users you want ping the fixed server’s API to find your phone, that fixed server would simply respond with the current IP of your phone itself. They could then connect to that IP, and thus to your phone.
Of couse, if you’re (for example) at a local library or coffeeshop, it won’t work as you expect. If you’re in a place where you’re being assigned a LAN IP (a local network, usually a hub that connects to a router), that is a shared connection - the internal network could have dozens or hundreds of IPs within their internal network, being passed through a single IP on the external side. The router would need to be set up to direct traffic to your specific server each time.
If your phone plan allows you to set up your phone as a ‘Wifi Hotspot’, then you should have no problem setting up a fixed IP to your phone. Might make sense to talk to your phone provider about that, as they would be the ones assigning you an IP.