This a generic network question, that applies to any device inside a private LAN with desired public external access. You have a few options, depending if this is for private or commercial grade use. - Manually do '_port forwarding_' on your router, sometimes referred as '_Nat/gaming_', '_pin hole_' and others: you need a fix LAN **ip** for your device; this config is highly router/vendor dependent. - [upnp][1] (Linux) - [Portmapper][2] (Linux) - Third party cloud service, with a published **ip address** (very off topic): your device 'publish' on a known location and your clients access a known place. On either case, you will need to [find][3] (and track) your router's **public ip address**, often randomly changed by your vendor. Notification when someone connect the device to the internet is a complete different story.... [1]: http://elinux.org/UPnP [2]: https://github.com/kaklakariada/portmapper [3]: http://www.myipnumber.com/