Remote programming on the MiVO 250 is pretty simple... 1 port is all that is really needed, 2 make it nice, 3 makes it super nice...
Port 44000/TCP is all that is really needed to program a MiVO250, but the system administrator and reporting won't work without 443/TCP (we often change this to 8443 or 65443 to avoid customer network issues), those two make a nearly local programming experience. Port 22/TCP is SSH for the terminal diagnostics, but I don't recommend using this unless you can lock it down to a specific IP address or range for the source as having it open to the public can be dangerous.
So basically you need to know the customers IP address or DNS/DDNS name, and have 44000/TCP and 443/TCP port forwarded in the router to the MiVO250's internal IP address and you can do 99% of everything the customer would ever need. If you have any questions about how to implement this specifically, feel free to ask... Many of us here have this setup with hundreds, even thousands, of systems and for many of us it is a standard part of the installation process.