Re: ISDN-Einwahllösung

From: Peter Ross <petros(at)pps.de>
Date: Wed, 15 Nov 2000 18:17:48 +0100 (MET)

Hallo,

meinst Du: Du willst Dich einwaehlen, oder Du willst einen Server fuer die
Einwahl hinstellen?

Ich habe ein FreeBSD 3.4-RELEASE als ISDN-Einwahlserver hingestellt.

Zunaechst muss dazu das i4b in den Kernel, also habe ich folgendes in die
Kernel-Konfig hinein getan:

-------------------------------------------------------------------------------
# Auszug aus LINT

# ISDN4BSD section

# i4b passive ISDN cards support (isic - I4b Siemens Isdn Chipset driver)
# note that the ``options'' and ``device'' lines must BOTH be defined !
#
# Non-PnP Cards:
# --------------
#
# Teles S0/16.3
options "TEL_S0_16_3"
device isic0 at isa? port 0xd80 net irq 5 flags 3
#
# ISDN Protocol Stack
# -------------------
#
# Q.921 / layer 2 - i4b passive cards D channel handling
pseudo-device "i4bq921"
#
# Q.931 / layer 3 - i4b passive cards D channel handling
pseudo-device "i4bq931"
#
# layer 4 - i4b common passive and active card handling
pseudo-device "i4b"
#
# ISDN devices
# ------------
#
# userland driver to do ISDN tracing (for passive cards only)
pseudo-device "i4btrc" 4
#
# userland driver to control the whole thing
pseudo-device "i4bctl"
#
# userland driver for access to raw B channel
pseudo-device "i4brbch" 4
#
# userland driver for telephony
pseudo-device "i4btel" 2
#
# network driver for IP over raw HDLC ISDN
pseudo-device "i4bipr" 4
# enable VJ header compression detection for ipr i/f
options IPR_VJ
#
# network driver for sync PPP over ISDN
pseudo-device "i4bisppp" 4

pseudo-device sppp #Generic Synchronous PPP

-------------------------------------------------------------------------------

Dies ist ein Beispiel fuer die Teles S0/16.3 mit Interupt 5 an Port 0xd80,
also nicht gerade das neueste, aber das lag hier so rum..

Ich glaube uebrigens, dass ich nicht alles braeuchte, da ich in meinem Beispiel
PPP ueber ISDN verwende, ich habe das nicht probiert, aber z.B. Telephonie
betreibe ich derzeit nicht. Weil es zum Zeitpunkt der Einrichtung alles neu fuer
mich war, habe ich da wahrscheinlich etwas uebertrieben..

Jedenfalls habe ich mit diesen Optionen einen Kernel gebaut und installiert.

In der /etc/rc.conf steht bei mir:
-------------------------------------------------------------------------------

ifconfig_isp0="inet ${isdn_net_server} ${isdn_net_client) netmask
${isdn_net_mask} link0"

### ISDN interface options: ###
isdn_enable="YES" # Enable the ISDN subsystem (or NO).
isdn_fsdev="NO" # Output device for fullscreen mode (or NO for d
aemon mode).
isdn_flags="-d0x2f9 -l /var/log/isdnd.log" # Flags for isdnd

-------------------------------------------------------------------------------

So laeuft also der isdnd mit Debugausgaben in /var/log/isdnd.log, das Interface
isp0 hat seine ifconfig-Parameter.

Desweiteren muss dann eine /etc/isdn/isdnd.rc da sein, da steht drin:

#==============================================================================
# SYSTEM section: isdnd global configuration parameters
#==============================================================================
system

# accounting
# ----------

acctall = on # generate info for everything
acctfile = /var/log/isdnd.acct # name & location of accounting file
useacctfile = yes # generate accouting info to file

# monitor
# -------

monitor-allowed = no # global switch: monitor on/off

Und dann ewig viele Eintrage der Art:

-------------------------------------------------------------------------------

#==============================================================================
# entry section: PPP over ISDN
#==============================================================================
entry

name = ISDNpetros
remote-phone-incoming = 303333333
remote-phone-dialout = 3333333
                                        # incoming only, outgoing only or both:
direction = in # in, out, inout

                                        # what happenes if someone dials in:
dialin-reaction = accept # accept, reject, ignore, answer, callba
ck

                                        # the network or telephone device
                                        # the data traffic should be routed to:
usrdevicename = isp # ipr, isp, tel, rbch
usrdeviceunit = 0 # unit number

                                        # the ISDN controller number to be
                                        # used for this entry:
isdncontroller = 0 # contoller to use or -1 to use any
isdnchannel = -1 # channel (1/2) to use or 0 or -1 for an
y

                                        # numbers used to verify a DIAL IN:
local-phone-incoming = 44444444 # this is my number

                                        # numbers used at DIAL OUT time:
local-phone-dialout = 44444444 # this is my number

                                        # in case i have several remote
                                        # telephone numbers specified, this
                                        # is used to specify which one is
                                        # used next on dial fail or retry:
remdial-handling = first # first, last or next

                                        # normal dialout or do i call back:
dialout-type = normal # normal / calledback

callbackwait = 5 # no of secs to wait before calling back

                                        # type of protocol on the B-channel:
                                        # hdlc must be specified for IP (the
                                        # ipr and isp drivers), raw must be
                                        # specified for telephone answering
b1protocol = hdlc # hdlc, raw

                                        # shorthold mode and idle time
                                        # configuration:
ratetype = 0 # ratesfile entry to use
unitlength = 90 # unitlength to assume
unitlengthsrc = rate # none, rate, cmdl, conf, aocd
idletime-incoming = 120 # incoming call idle timeout
idletime-outgoing = 120 # outgoing call idle timeout
earlyhangup = 5 # time to hangup before an expected
                                        # next charging unit will occur

                                        # retry and recovery parameters
dialretries = 3 # # of dial retries
dialrandincr = off # random dial increment time
recoverytime = 5 # time to wait between 2 dial tries
usedown = off # set i/f down
downtries = 5 # retry cycles before set down
downtime = 30 # time to be in down before going up

-------------------------------------------------------------------------------

Ich habe dann noch ein Miniscript geschrieben, um nur ein File zu haben, in dem
nur:
 -------------------------------------------------------------------------------

namen="ISDNpetros .."
no_ISDNpetros="3333333"

-------------------------------------------------------------------------------
steht, das obige Script wird daraus erzeugt (schicke ich gern auf Anfrage).

Ein weiteres Script raeumt Monat fuer Monat die Logfiles auf, steht in
/etc/periodic/monthly.

Ich habe die Beispiele benutzt und abgewandelt, daher ist dies vielleicht nicht
perfekt, aber es laeuft. Wenn mir hier mal die Arbeit ausgeht, nehme ich es mal
genauer unter die Lupe (wahrscheinlich also nie).

Wenn dies der falsche Teil der Antwort war, muss ich von Zuhause die
Konfiguration fuers Einwaehlen schicken..

Es gruesst
Peter Ross

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 15 Nov 2000 - 18:19:57 CET

search this site