G
Guest
Background: I am trying to figure out what options I have available to
connect via dialup to a standalone piece of hardware via PPP over a POTS
modem. The "box" is running a realtime OS and has a port of the PPP stack
from Interpeak (basically a simple RFC 1661 and 1662 compliant
implementation). The firmware folks have gotten to the point where they can
dial an ISP, and connect successfully to the Internet. Normally, this is how
the device operates. It connects to the internet via dialup, pushes its data
via web services, then disconnects.
The problem: The task I am faced with is that sometimes, this device is
behind phone hardware that does not allow dial out, only dial-in. In this
case, instead of the device doing a push by calling an ISP and connecting to
the server via a web service, the server needs to call it. In the "call it"
case, it will need to establish a PPP connection and issue a simple command
over IP that will cause it to push its data over IP to a web service (just as
in the ISP case) over the existing PPP connection.
I tested connecting to the box from a Win2003 server box by running the "New
Connection Wizard". I choose "connect to the internet" so I could get it to
dial the modem. It established a PPP connection to the device but the remote
end did not get a name server (used 0.0.0.0) and used a real weird IP address
(0.0.0.3). The server end of the PPP connection used 10.1.3.3. This all
worked but several problems remain.
1) What I really want is for my server to be configured as a RAS server (ie
act as a ISP). If I do that, I'm sure the "call the server case" will work
fine. But how do I get the server to call the "box"? What I want is the
"callback" functionality but have it be server initiated (instead of "box"
initiated).
2) How do I get a "predictable" IP address? Once I have the connection up,
some server software will need to connect to the remote end to iniatate the
"push your data now over this ppp connection". To do that, I will need its
IP address.
3) I need to call more than one "box" at the same time.
4) The server software portion is a dot net server program written in C# so
all this needs to be callable via dot net (probably via P/Invoke).
connect via dialup to a standalone piece of hardware via PPP over a POTS
modem. The "box" is running a realtime OS and has a port of the PPP stack
from Interpeak (basically a simple RFC 1661 and 1662 compliant
implementation). The firmware folks have gotten to the point where they can
dial an ISP, and connect successfully to the Internet. Normally, this is how
the device operates. It connects to the internet via dialup, pushes its data
via web services, then disconnects.
The problem: The task I am faced with is that sometimes, this device is
behind phone hardware that does not allow dial out, only dial-in. In this
case, instead of the device doing a push by calling an ISP and connecting to
the server via a web service, the server needs to call it. In the "call it"
case, it will need to establish a PPP connection and issue a simple command
over IP that will cause it to push its data over IP to a web service (just as
in the ISP case) over the existing PPP connection.
I tested connecting to the box from a Win2003 server box by running the "New
Connection Wizard". I choose "connect to the internet" so I could get it to
dial the modem. It established a PPP connection to the device but the remote
end did not get a name server (used 0.0.0.0) and used a real weird IP address
(0.0.0.3). The server end of the PPP connection used 10.1.3.3. This all
worked but several problems remain.
1) What I really want is for my server to be configured as a RAS server (ie
act as a ISP). If I do that, I'm sure the "call the server case" will work
fine. But how do I get the server to call the "box"? What I want is the
"callback" functionality but have it be server initiated (instead of "box"
initiated).
2) How do I get a "predictable" IP address? Once I have the connection up,
some server software will need to connect to the remote end to iniatate the
"push your data now over this ppp connection". To do that, I will need its
IP address.
3) I need to call more than one "box" at the same time.
4) The server software portion is a dot net server program written in C# so
all this needs to be callable via dot net (probably via P/Invoke).