Archived

This forum has been archived. Please start a new discussion on GitHub.

Connection through multiple Glacier routers

Hi!

I would like to know if it's possible to route a request through multiple Glacier routers. We have the following situation: The client sits in a private subnet, with several other boxes with UMTS datacards. On the server side, we have a Glacier router as Login Server which forwards the requests to ICE Servers.

The obvious solution would be to enable NAT on a umts box and use it as router, but in our setup this is not possible - so we thought about starting a glacier router as a bridge for the client. So the client would connect to the dialin box Glacier, which connects to the "home" Glacier, which forwards the connections to our servers.

My question: is this setup possible, and if yes are there functionality restrictions, and do you have any hints on how to do it? For getting the Endpoints right we can modify the hostname resolution on all machines as neccessary.

Cheers,

Volker Aßmann

Comments

  • bernard
    bernard Jupiter, FL
    Hi Volker,

    Welcome to our forums!

    "Chaining" Glacier2 routers does not work because of the Glacier2 authentication: you can't instruct a Glacier2 router to create an authenticated session with another Glacier2 router.

    Without NAT, the solution is to write your own bridge, that creates a Glacier2 session to your Glacier2 router, and forwards the requests from the clients to your servers.

    Depending on your application, and your proficiency with Ice, this bridge can be more or less sophisticated. If the clients talk to a single object with just a few operations, then you could simply use "static" Ice for this forwarding. If there are lots of operations, then use dynamic Ice. And if you have several objects / servers, you could make this bridge an "Ice router", i.e. implement an Ice::Router in this bridge.

    Best regards,
    Bernard
  • Our applications uses only few operations from a single object, so the "static" Ice solutions should suffice. I'll try that.

    Thanks a lot!

    Volker Aßmann