I have the following scenario:
1- A Windows PC (with local IP 192.168.0.10) in a small office running a server application on port N.
2- A smartphone app outside the office which connects to that server and requests data.
In order to make this work I have to do the following:
1- In the router of the office I open port N and forward requests to PC 192.168.0.10.
2- I give the (dynamic) IP address of the router to the smartphone user so he can type the URL. I may use a dynamic DNS service to ease things up.
This works fine but now we want to sell this system to other people. The problem is that it will be very difficult for them to change the router settings, or to use a dynamic DNS service.
Is there a way I can connect the smartphone app to the erver running inside the customer’s office without asking him to configure anything in the router?
I’m thinking of something like TeamViewer. TeamViewer can connect two computers easily and users do not need to know anything about routers, firewalls, port forwarding or dynamic IPs.
TeamViewer must be running some kind of server which works as a bridge between the two computers. We would like to provide such a server to our users (if it’s easy to implement and not very expensive), but we don’t know how.
I think that we could rent some service like www.dyndnsservices.com to provide a dynamic DNS to our customers, but that doesn’t solve the problem of router configuration/port forwarding.