PPP negotiation from windows to embedded PPP stack? - PPP

This is a discussion on PPP negotiation from windows to embedded PPP stack? - PPP ; 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 ...

+ Reply to Thread
Results 1 to 3 of 3

Thread: PPP negotiation from windows to embedded PPP stack?

  1. PPP negotiation from windows to embedded PPP stack?

    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).

    Ideas?



  2. Re: PPP negotiation from windows to embedded PPP stack?

    "Phil Hochstetler" writes:
    > 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).


    I don't think that Windows RAS can do that. It makes too many
    assumptions: either you're dialing the phone and are an initiator that
    doesn't know its IP address and doesn't demand authentication, or
    you're answering the phone and know both your address and the peer's
    address.

    Such a configuration would be trivial with pppd, though.

    > 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.


    Predictable IP addresses are a matter of configuration. You have to
    configure your peers to request and use the right addresses.

    Doing that depends on the software you're using, and really isn't an
    issue with PPP itself. You might be better off asking that question
    in a newsgroup devoted to the implementation(s) you're using.

    > 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).
    >
    > Ideas?


    Try another newsgroup.

    --
    James Carlson, IP Systems Group
    Sun Microsystems / 1 Network Drive 71.234W Vox +1 781 442 2084
    MS UBUR02-212 / Burlington MA 01803-2757 42.497N Fax +1 781 442 1677

  3. Re: PPP negotiation from windows to embedded PPP stack?

    In article <10jsfqpf4iltle9@corp.supernews.com>,
    Phil Hochstetler wrote:

    [tried your email, but it didn't appear to work]

    >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 think there's a script that will be run whenever your PPP connection comes
    up (maybe /etc/ppp/pppup?)? You could simply use that to push your data
    when necessary.

    >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.


    It would be interesting to see a trace of the negotiations for this
    connection!

    >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).


    When you say "server" and "box", I presume "box" means your box that has the
    data to be transferred? If so, then you don't want "callback" as that implies
    the "box" calls the "server" and has the "server" call the "box" back to save
    on phone charges (or other reasons). What you want is simply a "server" that
    can call into your "box" and ask it to dump it's data back to the "server",
    right? That's just standard dialup.

    >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.


    If your "box" is going to be the device that gets "dialed into", it can have
    complete control of the link configuration. Just set up your box to have
    the IP addresses and features you want and let pppd negotiate that config-
    uration. The machine that dials into your "box" will (usually) accept the
    options that the "box" tries to negotiate.

    >3) I need to call more than one "box" at the same time.


    I'm not sure I understand. You want to be able to have one machine call
    out to a bunch of "box"es simultaneously? Then you'll need a serial port,
    modem, and phone line for each simultaneous connection. Why would you need
    to talk to several "box"es at once if they're just periodically pushing
    data to your "server"?

    >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).


    That's a Windows issue. I don't know Windows enough to know how to guide
    you on an app that can manipulate one or several dialout connections, but
    the MSDN or Platform SDK may have some examples??

    Sincerely,

    Patrick Klos
    ============= For PPP Protocol Analysis, check out SerialView! =============
    Patrick Klos Email: patrick@klos.com
    Klos Technologies, Inc. Web: http://www.klos.com/
    ==================== What goes around, comes around... =====================

+ Reply to Thread