PPP on ISDN PRI E1 line - PPP

This is a discussion on PPP on ISDN PRI E1 line - PPP ; Dear All, I'm working on implementing PPP over ISDN PRI on a E1 line. All I came to know from our Central Office (Local Exchange / Internet Service Provider : from now on CO) is they will provide us a ...

+ Reply to Thread
Results 1 to 9 of 9

Thread: PPP on ISDN PRI E1 line

  1. PPP on ISDN PRI E1 line

    Dear All,

    I'm working on implementing PPP over ISDN PRI on a E1 line. All I
    came to know from our Central Office (Local Exchange / Internet Service
    Provider : from now on CO) is they will provide us a Pilot number for
    Dialup in order to access internet.The scenario is something as
    explained below:

    # I want to configure 15 of my 64Kbps channels for voice and the other
    15 64Kbps channels for data. The CO people tell that they will provide
    two Pilot numbers. One for Voice and one for Data, for Voice I need not
    bother as its handled separately.
    I want to know How can I establish data on 15 channels using PPP. Our
    CO people tell that it needs to dial in the Pilot number and connect to
    the ISP using PPP protocol.Also they tell there is no need for
    Username, Password authentication as it is a ISDN PRI on E1(I'm not
    able to understand whether PPP works without Username Password
    authentication, any pointers in this regard will be really helpful).

    # We've a ISDN PRI Stack which is as per Q.931, Q.921 and I.431 which
    handles all the signalling part.
    But it doesn't support PPP protocols. So I want to utilise the Linux
    Kernel supported PPP kernel driver along with the pppd daemon to work
    with my ISDN Stack.

    # My doubt is I want to extract the Linux Kernel PPP driver(which is
    used for standard Analog modem dialups) and modify it to fit my
    application
    or
    # Utilise the ISDN PPP (ipppd along with the ISDN PPP kernel driver)

    Which of the bove one is correct !?!? Is my understanding correct !?!?
    or there is other way to accomplish this, I'm totally confused!! please
    do help me in this regard.
    I'm planning to buy the PPP Design and Implementation from Mr James
    Carlson, it has got a chapter on PPP implementation.
    Thanx in advance.

    --Ganesh


  2. Re: PPP on ISDN PRI E1 line

    "Ganesh" writes:
    > # I want to configure 15 of my 64Kbps channels for voice and the other
    > 15 64Kbps channels for data. The CO people tell that they will provide
    > two Pilot numbers. One for Voice and one for Data, for Voice I need not
    > bother as its handled separately.


    You'll need either a voice switch with a DNI (drop-n-insert)
    interface, or a router with the same, in order to break off those
    other channels.

    > I want to know How can I establish data on 15 channels using PPP. Our
    > CO people tell that it needs to dial in the Pilot number and connect to
    > the ISP using PPP protocol.


    Sounds like a fairly standard thing to me. Any device that does PRI
    on E1 ought to be able to do that. (Search the web -- there are many
    small routers that fit the bill.)

    > Also they tell there is no need for
    > Username, Password authentication as it is a ISDN PRI on E1(I'm not
    > able to understand whether PPP works without Username Password
    > authentication, any pointers in this regard will be really helpful).


    Oh, ouch! Well, if you think that a telephone number is adequate as a
    "secure measure," then that's just ducky.

    I can't say I think that's very wise.

    > # We've a ISDN PRI Stack which is as per Q.931, Q.921 and I.431 which
    > handles all the signalling part.
    > But it doesn't support PPP protocols.


    Nor should it ... the PPP data will appear on the B channels, not the
    D channel.

    > So I want to utilise the Linux
    > Kernel supported PPP kernel driver along with the pppd daemon to work
    > with my ISDN Stack.
    >
    > # My doubt is I want to extract the Linux Kernel PPP driver(which is
    > used for standard Analog modem dialups)


    .... and sync.

    > and modify it to fit my
    > application
    > or
    > # Utilise the ISDN PPP (ipppd along with the ISDN PPP kernel driver)
    >
    > Which of the bove one is correct !?!? Is my understanding correct !?!?
    > or there is other way to accomplish this, I'm totally confused!! please
    > do help me in this regard.


    Well, I think you've left out some crucial information here.

    Do you have an E1 interface on this Linux box? Does it support
    concatenated DS0s running HDLC?

    If you have the hardware support, this should look like a simple
    synchronous serial port to the PPP software. That's something the
    existing code already supports.

    If you don't have the hardware support, it might not be possible to do
    this.

    I'm not certain, but I think the 'ipppd' code is designed for BRI-type
    applications. I don't know if it'll work in PRI.

    > I'm planning to buy the PPP Design and Implementation from Mr James
    > Carlson, it has got a chapter on PPP implementation.


    ;-}

    --
    James Carlson, KISS Network
    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 on ISDN PRI E1 line

    Dear James,

    Thanx a lot for an instantaneous reply!!!! really Happy!!!

    >You'll need either a voice switch with a DNI (drop-n-insert)


    I'm working on MPC860 utilising the TDM interface to do that, SO voice
    is taken care of.
    The data comes in the SCC(Serial Communications Controller) thru the
    TDM interface.

    > Sounds like a fairly standard thing to me. Any device that does PRI

    on E1 ought to be able to do that. (Search the web -- there are many
    small routers that fit the bill.)

    If I understand you correctly, you mean to say that all the ISDN E1
    interfaces support data on a PPP Dialup !?, Thanks for the information.

    >Oh, ouch! Well, if you think that a telephone number is adequate as a

    "secure measure," then that's just ducky

    Even I asked the same question to them, But they told yes its like
    that.

    > Nor should it ... the PPP data will appear on the B channels, not the

    D channel.

    Yes I agree, I was telling the Stack won't support the B-Channel PPP
    protocols, So I need to look into Linux Kernel PPP Driver.

    > Do you have an E1 interface on this Linux box?


    Yes we have got a E1 interface with ISDN PRI

    > Does it support concatenated DS0s running HDLC?


    I beleive so, The TDM interface in MPC860 can be configured for that,
    i.e.,
    15 time slots (64 Kbps channels), we can allocate for one HDLC channel
    still working on that !!


    > If you have the hardware support, this should look like a simple
    >synchronous serial port to the PPP software. That's something the
    >existing code already supports


    previously I was working on a 56Kbps Analog modem for Serial dialup, "I
    remember
    you helped me" in configuring the different options for that, at that
    time I just digged into ppp-2.4.1 to have some PPP packets prints, I'm
    quite comfortable with that.

    I'm right now looking at the synchronous PPP in order achieve this, But
    my understanding is PPP has got an underlying Serial device to which it
    sends all the data
    and in turn the serial device sends it to MODEM.

    But my case is quite different, We've got our own custom Hardware and I
    need to map the PPP(synchronous) to our underlying Hardware (I'm
    absolutely clue less here) I badly need some help on this, Hope I'm
    clear this time in explaining the my doubts?

    I'll put across what I have understood :

    my Hardware supports the E1 Interafce and I need to extract the Kernel
    PPP driver and map it to our E1 interface device driver


    Layer 1 : Our Hardware Device drivers (instead of the standard Serial
    device RS232)
    Layer 2 : PPP (Extracted from Kernel Source)
    Layer 3 : Internet Protocol

    Is my understanding correct???
    Thanx in advance for your valuable inputs!!

    --Ganesh


  4. Re: PPP on ISDN PRI E1 line

    "Ganesh" writes:

    > Dear James,
    >
    > Thanx a lot for an instantaneous reply!!!! really Happy!!!
    >
    > >You'll need either a voice switch with a DNI (drop-n-insert)

    >
    > I'm working on MPC860 utilising the TDM interface to do that, SO voice
    > is taken care of.
    > The data comes in the SCC(Serial Communications Controller) thru the
    > TDM interface.


    Ah, ok. That should work well, then. I'm very familiar with the
    MPC860 -- I used it in several products at other places I've worked --
    though it's been a while.

    I believe that you need to set the SCC up to do 32 channel HDLC, and
    then instruct it to map together as one HDLC stream the timeslots that
    form the 15 B channel block, and a separate single HDLC stream for the
    D channel.

    > > Sounds like a fairly standard thing to me. Any device that does PRI

    > on E1 ought to be able to do that. (Search the web -- there are many
    > small routers that fit the bill.)
    >
    > If I understand you correctly, you mean to say that all the ISDN E1
    > interfaces support data on a PPP Dialup !?, Thanks for the information.


    Typical ones do. You might find some CSU devices that support only
    unswitched E1, but if it supports PRI on E1, it ought to support what
    you're doing.

    > >Oh, ouch! Well, if you think that a telephone number is adequate as a

    > "secure measure," then that's just ducky
    >
    > Even I asked the same question to them, But they told yes its like
    > that.


    Sigh.

    > > Does it support concatenated DS0s running HDLC?

    >
    > I beleive so, The TDM interface in MPC860 can be configured for that,
    > i.e.,
    > 15 time slots (64 Kbps channels), we can allocate for one HDLC channel
    > still working on that !!


    Right.

    > I'm right now looking at the synchronous PPP in order achieve this, But
    > my understanding is PPP has got an underlying Serial device to which it
    > sends all the data
    > and in turn the serial device sends it to MODEM.


    PPP just needs an underlying full-duplex stream. It doesn't care
    about "modems" or any other such thing.

    > But my case is quite different, We've got our own custom Hardware and I
    > need to map the PPP(synchronous) to our underlying Hardware (I'm
    > absolutely clue less here) I badly need some help on this, Hope I'm
    > clear this time in explaining the my doubts?


    Read RFC 1662. PPP runs fine on hardware that supports HDLC. It's
    the standard way to run PPP over ISDN (whether BRI or PRI).

    > I'll put across what I have understood :
    >
    > my Hardware supports the E1 Interafce and I need to extract the Kernel
    > PPP driver and map it to our E1 interface device driver


    What you need is some way to make that concatenated HDLC channel
    appear as a standard synchronous device on Linux. Once you've got
    that, PPP will run just fine.

    Unfortunately, that's well beneath PPP and well beyond what I normally
    work on. (Check my signature line and source domain for details.
    ;-})

    It sounds like you need help with creating a Linux device driver. I'd
    suggest looking around for newsgroups that deal with that. (And don't
    mention "PPP," or they'll just send you back here. All you want to do
    is create synchronous serial interface.)

    > Layer 1 : Our Hardware Device drivers (instead of the standard Serial
    > device RS232)


    Regular pppd works with both async *AND* sync.

    > Layer 2 : PPP (Extracted from Kernel Source)
    > Layer 3 : Internet Protocol
    >
    > Is my understanding correct???
    > Thanx in advance for your valuable inputs!!


    Not exactly. I don't know what "extracted" means above.

    PPP runs fine over regular synchronous serial drivers on Linux.
    That's what you should be aiming for -- providing a standard
    synchronous serial driver for your device (or finding out if someone
    has already written such a thing) so that you can run the unmodified
    pppd over it.

    --
    James Carlson, KISS Network
    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

  5. Re: PPP on ISDN PRI E1 line

    Dear James,

    I'm really delighted !! I can talk in terms of MPC860, Thanx a lot.

    > I believe that you need to set the SCC up to do 32 channel HDLC, and
    >then instruct it to map together as one HDLC stream the timeslots that
    >form the 15 B channel block, and a separate single HDLC stream for the
    >D channel.


    Yes I've got the dallas chip which has a in built HDLC controller,
    I'm using it for D-Channel signalling and the MPC SCC HDLC for
    my B-Channel data. Hope I'm in the right direction!?
    So I want to configure the 15 timeslots for MPC SCC HDLC for
    B-Channels data (i.e., PPP)


    >What you need is some way to make that concatenated HDLC channel
    >appear as a standard synchronous device on Linux. Once you've got
    >that, PPP will run just fine


    Yes exactly I've the drivers for MPC SCC HDLC,all I want to do is
    configure my MPC SCC HDLC (as a serial device or so, again I'm clueless
    how to accomplish that) to accept packets from PPP
    get a ppp0 network interface up so that I can start browsing!!

    What I was trying to tell was as per kernel source
    Layer 2 : PPP kernel module
    Layer 1 : UART Serial driver ( I want to replace this with my HDLC
    device)

    and on the top I've my pppd running in user space who will take care
    of authentication and all.

    am I right here !?

    >It sounds like you need help with creating a Linux device driver. I'd
    >suggest looking around for newsgroups that deal with that.
    > Not exactly. I don't know what "extracted" means above


    Yes you are absolutely right!, Thanx for understanding my ambiguities
    !!
    Actually I've the MPC SCC HDLC device driver in place already but I'm
    missing the link between
    PPP kernel module ---> MPC SCC HDLC driver
    is missing as I'm totally new in this area., A lot of study has brought
    me till
    here.


    --Ganesh


  6. Re: PPP on ISDN PRI E1 line

    "Ganesh" writes:
    > > I believe that you need to set the SCC up to do 32 channel HDLC, and
    > >then instruct it to map together as one HDLC stream the timeslots that
    > >form the 15 B channel block, and a separate single HDLC stream for the
    > >D channel.

    >
    > Yes I've got the dallas chip which has a in built HDLC controller,
    > I'm using it for D-Channel signalling and the MPC SCC HDLC for
    > my B-Channel data. Hope I'm in the right direction!?
    > So I want to configure the 15 timeslots for MPC SCC HDLC for
    > B-Channels data (i.e., PPP)


    I would have thought that separating out the D channel (channel 16,
    right?) in the 860's SCC would be the easiest way to deal with the
    signaling component.

    > >What you need is some way to make that concatenated HDLC channel
    > >appear as a standard synchronous device on Linux. Once you've got
    > >that, PPP will run just fine

    >
    > Yes exactly I've the drivers for MPC SCC HDLC,all I want to do is
    > configure my MPC SCC HDLC (as a serial device or so, again I'm clueless
    > how to accomplish that) to accept packets from PPP
    > get a ppp0 network interface up so that I can start browsing!!


    You just need to make it work as a sync device. PPP itself runs on
    HDLC.

    > What I was trying to tell was as per kernel source
    > Layer 2 : PPP kernel module
    > Layer 1 : UART Serial driver ( I want to replace this with my HDLC
    > device)
    >
    > and on the top I've my pppd running in user space who will take care
    > of authentication and all.
    >
    > am I right here !?


    There's not much to that "layer 2." Just a switch that takes the
    frames right from the HDLC driver and inserts them into IP or the
    stream connected to pppd.

    Take a look at (in the 2.6 kernel) drivers/net/ppp_synctty.c,
    drivers/net/wan/hdlc_ppp.c, and any of the sync drivers, such as
    drivers/net/wan/z85230.c.

    But as I said, I'm no Linux expert. That's what you need here.

    > >It sounds like you need help with creating a Linux device driver. I'd
    > >suggest looking around for newsgroups that deal with that.
    > > Not exactly. I don't know what "extracted" means above

    >
    > Yes you are absolutely right!, Thanx for understanding my ambiguities
    > !!
    > Actually I've the MPC SCC HDLC device driver in place already but I'm
    > missing the link between
    > PPP kernel module ---> MPC SCC HDLC driver
    > is missing as I'm totally new in this area., A lot of study has brought
    > me till
    > here.


    You should be able to point pppd right at the synchronous device (use
    /dev/mysyncdev [or whatever the name is] instead of /dev/ttyS0), give
    it the "sync" option, and run.

    At least it's that simple on a STREAMS-based system like Solaris. I
    don't know if extra hooks are required on Linux. You're going to need
    a Linux kernel driver expert.

    --
    James Carlson, KISS Network
    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

  7. Re: PPP on ISDN PRI E1 line

    > would have thought that separating out the D channel (channel 16,
    >right?) in the 860's SCC would be the easiest way to deal with the
    >signaling component


    Currently its been done so, I'll try to look into that., Thanks

    >> Yes exactly I've the drivers for MPC SCC HDLC,all I want to do is
    >>configure my MPC SCC HDLC (as a serial device or so, again I'm clueless
    >> how to accomplish that) to accept packets from PPP
    >> get a ppp0 network interface up so that I can start browsing!!


    >You just need to make it work as a sync device. PPP itself runs on
    >HDLC.


    This is where I'm struck, as my HDLC device doesn't come up
    as a synchronous serial device. The device drivers(part of the protocol
    stack) doesn't follow the standard linux device driver frame work
    like "register device", "device open" etc.
    I'll try to write a driver /dev/mysync which will form as a link
    between the
    Linux Kernel PPP module and my HDLC Device drivers so that the
    PPP kernel module will forward/receive packets to/from /dev/mysync
    device and provide options to the pppd as /dev/mysync
    (I'll dig thru that) this time I'm right I think ..!?

    >There's not much to that "layer 2." Just a switch that takes the
    >frames right from the HDLC driver and inserts them into IP or the
    >stream connected to pppd.


    I understand this is what the PPP kernel module does,
    i.e., The PPP kernel module receives HDLC packets from
    the HDLC driver, extracts the IP packet and hands it over
    to IP Layer.

    >Take a look at (in the 2.6 kernel) drivers/net/ppp_synctty.c,
    >drivers/net/wan/hdlc_ppp.c, and any of the sync drivers, such as
    >drivers/net/wan/z85230.c.


    Actually I'm working on kernel version 2.4.18, anyhow I'll look thru
    the source files to get a thorough understanding.
    (kernel source code has been my frined all the time ))

    >But as I said, I'm no Linux expert. That's what you need


    Its Ok, I was not having the over all idea of how to accomplish
    this, now I have got an over all picture of the whole thing.
    Thanks for all the inputs.

    >You should be able to point pppd right at the synchronous device (use
    >/dev/mysyncdev [or whatever the name is] instead of /dev/ttyS0), give
    >it the "sync" option, and run


    I'll look thru that.
    Thanks for all the info.I'll continue my work from here.

    In between I've got one doubt relating to PPP authentication,
    as per my CO people,there is no need of Username & Password.
    Will the pppd support this, what abt PAP/CHAP protocols
    here, do I need to edit my pppd (ppp-2.4.2) source files
    in order to achive this or the pppd simply bypasses PAP/CHAP
    if the other side doesn't require that.
    I'm not stressing more on this as of now because I've a long way to
    go to reach there ...


    --Ganesh


  8. Re: PPP on ISDN PRI E1 line

    "Ganesh" writes:
    > >You should be able to point pppd right at the synchronous device (use
    > >/dev/mysyncdev [or whatever the name is] instead of /dev/ttyS0), give
    > >it the "sync" option, and run

    >
    > I'll look thru that.
    > Thanks for all the info.I'll continue my work from here.
    >
    > In between I've got one doubt relating to PPP authentication,
    > as per my CO people,there is no need of Username & Password.
    > Will the pppd support this,


    Sure. It supports it by default. You have to configure user names
    and passwords if you *want* to use authentication.

    > what abt PAP/CHAP protocols
    > here, do I need to edit my pppd (ppp-2.4.2) source files
    > in order to achive this or the pppd simply bypasses PAP/CHAP
    > if the other side doesn't require that.


    It's part of the configuration; read the man page.

    When pppd starts up, it reads the configuration files. If you have
    the "auth" keyword in any of the files, or if you have a default route
    on the system, or if you have any of the "require-*" keywords
    specified, then the system acts as an authenticator (what some people
    inaccurately call a "server"): it demands authentication from the
    peer.

    When it negotiates with the peer, the peer may ask for authentication,
    or it might not. If it does, then pppd looks for a suitable user name
    and password (or passphrase or shared secret, as appropriate) to use
    to authenticate itself to the peer -- acting as an authenticatee (what
    some call a "client"). If the peer doesn't ask, then it doesn't do
    anything special. It's the peer's problem to determine whether it
    needs to demand authentication or not.

    In other words, for authentication, it *always* acts like a client
    when necessary, and acts like a server when required by the
    configuration. So, no, there's nothing special you need to do in
    order to support a peer that doesn't ask for authentication.

    --
    James Carlson, KISS Network
    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

  9. Re: PPP on ISDN PRI E1 line



    James Carlson wrote:
    > > what abt PAP/CHAP protocols
    > > here, do I need to edit my pppd (ppp-2.4.2) source files
    > > in order to achive this or the pppd simply bypasses PAP/CHAP
    > > if the other side doesn't require that.

    >
    > When it negotiates with the peer, the peer may ask for authentication,
    > or it might not. If it does, then pppd looks for a suitable user name
    > and password (or passphrase or shared secret, as appropriate) to use
    > to authenticate itself to the peer -- acting as an authenticatee (what
    > some call a "client"). If the peer doesn't ask, then it doesn't do
    > anything special. It's the peer's problem to determine whether it
    > needs to demand authentication or not.
    >

    my doubt is cleared now , Thanks for all the info :-)


    Best regards,
    Ganesh


+ Reply to Thread