the customer downloads a small application on to their PC which installs painlessly without a reboot. The customer then just needs to press a button on the application to allow remote control of their desktop.
The application then communicates with the server to inform the engineer that the customer is ready. A 5 digit number is assigned to the customer.
Meanwhile the engineers control software launches from desktop tray and the engineer connects to the customer using the 5 digit number. (not the customers IP address) and has control of the customers desktop.
The customer application should be able to survive a reboot and automatically launch and re-connect to the engineers PC.
File transfer capabilities should be built in.
When the engineer is done the software uninstalls from the customers PC.
All connections should be done on an encrypted secure connection (https) and a log of the session stored on the server (customer/engineer IPs, computer names, start times, end times, logins)
Engineers can login and out of the site to set their availability.
I will hold all rights to the software, but will probably work with the developer in the future.
I'd prefer a Delphi/PHP/MYSQL solution (linux web server, windows apps) but im open to suggestions.