capiplugin - Plugin for pppd (Point-to-Point Protocol dae
mon)
SYNOPSIS
pppd [options] plugin /etc/ppp/plugins/capiplugin.so
[options for capiplugin]
DESCRIPTION
The capiplugin provides a method to use PPP over ISDN with
ISDN controllers that provide a CAPI2.0 interface. The
plugin is responsible for the call setup with CAPI2.0.
You can dial out, wait for incoming calls and set up com
munication over leased lines. It implements a feature to
reject an incoming call and call back. This feature can
also be used when dialing out. In this case, the party
called has to reject the call and call back soon.
HOW IT WORKS
The capiplugin registers a new_phase_hook and its own
options to the pppd when loaded. When the pppd goes into
phase SERIALCONN, the capiplugin set up a connection and
sets the global variable devnam. The capiplugin will reg
ister a timer function that is called every second to han
dle the CAPI messages while pppd is running. To notify
pppd when CAPI messages arrive, the CAPI file desciptor is
added to the list of file descriptors which the pppd moni
tors for input. Once the connection is set up the pppd
will start PPP negotiation on device devnam. When the pppd
enters the DEAD phase, the connection will be dropped (if
it is still active) and the timer function and the CAPI
file desciptor will be unregistered.
MODES OF OPERATION
normal dial out
Simply make a connection, for example to your
Internet provider.
Required options: number. Recommended options:
msn. Other possible options: controller, dialmax,
dialtimeout, protocol and redialdelay.
dial out with callback
Call a given number, the called party rejects the
call and then calls back.
Required options: number and clicb. Recommended
options: cli and msn or inmsn. Other possible
options: cbwait, controller, connectdelay, dial
timeout, protocol
wait for dial in
Wait for calls and accept incoming calls.
Recommended options: cli and msn or inmsn. Possi
ble options: connectdelay, controller, dialtimeout,
wait for dial in and call back.
Wait for calls, reject the call and then call back.
Required options: cbnumber. Recommended options:
cli and msn or inmsn. Other possible options:
cbdelay, connectdelay, controller, dialtimeout,
protocol
leased line
set up a leased line connection, with or without
CAPI channel bundling.
Required options: channels. Other possible
options: connectdelay, controller, dialtimeout and
protocol
OPTIONS
cbdelay <seconds>
Number of seconds to wait before callback, when
acting as dial-in server with callback. Default
value is 2 seconds.
cbnumber <phone numbers>
List of phone numbers for callback, separated by
commas, when acting as dial-in server with call
back.
cbwait <seconds>
Time to wait for callback before giving up. Default
value is 60 seconds.
channels <channel specification>
List of b-channels or ranges to activate leased
line mode, separated by commas.
cli <phone numbers>
List of numbers from which incoming calls will be
accepted, separated by commas.
clicb Enable callback mode. When option number is set,
call number and wait for callback. When option num
ber is not set, wait for incoming call, reject the
call and call back. This option is optional if the
cbnumber option is set.
Number of seconds to wait after a connection is set
up, before PPP negotiation starts. Default value is
0 seconds. This option is useful when connecting
with protocol modem. Some Internet access servers
will hang up if they receive data immediatly after
connection is established.
controller <controller specification>
For point-to-multipoint <controller specification>
is only the CAPI 2.0 controller number, default is
1. For point-to-point, specify <controller num
ber>,<ddi>,<length of internal numbers>
dialmax <times>
Maximum number of times the list of phone numbers
is tried before giving up. Default value is 4.
dialtimeout <seconds>
Time to wait for the connection to be established
or fail before giving up. Default value is 60 sec
onds.
inmsn <msn>
Phone number to monitor for calls, when different
from option msn.
msn <msn>
Phone number used to make outgoing calls. Also used
for incoming calls if option inmsn is not set.
number <phone numbers>
List of phone numbers to call, separated by commas.
Every number in the list is called until a connec
tion can be established. When the end of the list
is reached, the first number is called again. See
option dialmax.
numberprefix <prefix>
phone number to dial to access an outside line. For
example, numberprefix 0.
protocol hdlc | x75 | v42bis | modem
ISDN protocol to use. With hdlc, the sync option
must be added to the pppd. With x75, v42bis and
modem, the sync option MUST NOT be enabled. Default
and modem. Use capiinfo(8) to view which features
your controller supports.
redialdelay <seconds>
Number of seconds to wait between redialing.
Default value is 5 seconds.
EXAMPLE FOR NORMAL DIAL OUT
Probably the most common use of pppd is to dial out to an
ISP. This can be specified with a command like
pppd call isp
where the /etc/ppp/peers/isp file is set up by the system
administrator to resemble the following:
sync
noauth
defaultroute
name USERNAME
plugin /etc/ppp/plugins/capiplugin.so msn MSN
number PHONENUMBER
protocol hdlc
ipcp-accept-local
ipcp-accept-remote
/dev/null
and where the files /etc/ppp/pap-secrets and
/etc/ppp/chap-secrets are set up by the system administra
tor to resemble the following:
USERNAME * PASSWORD *
EXAMPLE OF DIAL OUT WITH CALLBACK
Dial out with callback can be specified with a command
like
pppd call isp-callback
where the /etc/ppp/peers/isp-callback file is set up by
the system administrator to resemble the following:
sync
noauth
defaultroute
name USERNAME
plugin /etc/ppp/plugins/capiplugin.so
msn MSN
number PHONENUMBER
clicb
protocol hdlc
ipcp-accept-local
ipcp-accept-remote
/dev/null
and where the files /etc/ppp/pap-secrets and
/etc/ppp/chap-secrets are set up by the system administra
tor to resemble the following:
USERNAME * PASSWORD *
EXAMPLE OF WAIT FOR DIAL IN WITHOUT CLI AUTHENTICATION
Wait for incoming calls, accept them according to options
msn, inmsn, and protocol.
Do not provide option cli to the capiplugin. Start a pppd
for every b channel. Authorization is checked using PAP
or CHAP and the ip numbers are assigned according to the
/etc/ppp/pap-secrets or /etc/ppp/chap-secrets file.
Assume that the server has ip number 192.168.0.1, the
clients are to be assigned the ip numbers starting from
192.168.0.2, and the hostname of the server is "dialin
server". Add these two lines to the /etc/inittab file:
p0:23:respawn:/usr/sbin/pppd call incoming-noncli
p1:23:respawn:/usr/sbin/pppd call incoming-noncli
where the /etc/ppp/peers/incoming-noncli file is set up to
resemble the following:
sync
auth
plugin /etc/ppp/plugins/capiplugin.so
inmsn MSN
protocol hdlc 192.168.0.1:
with the files /etc/ppp/pap-secrets and /etc/ppp/chap-
secrets set up to resemble the following:
user1 dialinserver PASSWORD1 192.168.0.2
user2 dialinserver PASSWORD2 192.168.0.3
EXAMPLE OF WAIT FOR DIAL IN WITH CLI AUTHENTICATION
Wait for incoming calls, accept them according to options
msn, inmsn, cli and protocol.
Start a pppd for every client. Assume that the server has
ip number 192.168.0.1 and the clients are to be assigned
the ip numbers starting from 192.168.0.2. Add these three
lines to the /etc/inittab file:
p0:23:respawn:/usr/sbin/pppd call incoming-cli cli
p1:23:respawn:/usr/sbin/pppd call incoming-cli cli
04712 192.168.0.1:192.168.0.3
p2:23:respawn:/usr/sbin/pppd call incoming-cli cli
04713 192.168.0.1:192.168.0.4
where the /etc/ppp/peers/incoming-cli file is set up to
resemble the following:
sync
noauth
plugin /etc/ppp/plugins/capiplugin.so
inmsn MSN
protocol hdlc
EXAMPLE OF WAIT FOR DIAL IN WITH CLI AUTHENTICATION AND CALLBACK
Wait for incoming calls, accept them according to options
msn, inmsn, cli and protocol, reject incoming calls and
call back.
Start a pppd for every client. Assume that the server has
ip number 192.168.0.1 and the clients are to be assigned
the ip numbers starting from 192.168.0.2. Add these three
lines to the /etc/inittab file.
p0:23:respawn:/usr/sbin/pppd call incoming-cli cli
04711 cbnumber 4711 192.168.0.1:192.168.0.2
p1:23:respawn:/usr/sbin/pppd call incoming-cli cli
04712 cbnumber 4712 192.168.0.1:192.168.0.3
p2:23:respawn:/usr/sbin/pppd call incoming-cli cli
04713 cbnumber 4713 192.168.0.1:192.168.0.4
where the /etc/ppp/peers/incoming-cli file is set up to
resemble the following:
sync
noauth
plugin /etc/ppp/plugins/capiplugin.so
inmsn MSN
protocol hdlc
EXAMPLE OF A LEASED LINE CONNECTION WITH HDLC
Assume that the server has ip number 192.168.0.1 and the
peer has the ip number 192.168.0.2. Add this line to the
/etc/inittab file:
p0:23:respawn:/usr/sbin/pppd call leased-hdlc con
troller 1 channels 1 192.168.0.1:192.168.0.2
where the /etc/ppp/peers/leased-hdlc file is set up to
resemble the following:
noauth
lcp-echo-interval 5
lcp-echo-failure 3
lcp-max-configure 50
lcp-max-terminate 2
noccp
noipx
persist
plugin /etc/ppp/plugins/capiplugin.so
protocol hdlc
EXAMPLE OF A LEASED LINE CONNECTION WITH V42BIS
Assume that the server has ip number 192.168.0.1 and the
peer has the ip number 192.168.0.2. Add this line to the
/etc/inittab file for server 1 (192.168.0.1):
p0:23:respawn:/usr/sbin/pppd call leased-v42bis
controller 1 channels 1 192.168.0.1:192.168.0.2
and this line to the /etc/inittab file for server 1
(192.168.0.2):
p0:23:respawn:/usr/sbin/pppd call leased-v42bis
controller 1 channels p1 192.168.0.2:192.168.0.1
where the /etc/ppp/peers/leased-v42bis file is set up to
resemble the following:
sync
noauth
lcp-echo-interval 5
lcp-echo-failure 3
lcp-max-configure 50
lcp-max-terminate 2
noccp
noipx
persist
plugin /etc/ppp/plugins/capiplugin.so
protocol v42bis
CAVEATS
Every pppd awaiting incoming calls can receive an incoming
call first. So when two pppds are started to monitor the
same MSN, one with CLI Authentication and the other with
out, the following can happen:
The Client with the CLI specified to the first pppd
calls, but the pppd without the cli option receives
the call first and accepts it.
To combine CLI Authentication and PAP/CHAP Authentication,
the PAP/CHAP authenticated calls.
DIAGNOSTICS
Messages are sent to the syslog daemon just as in normal
pppd operation; see the pppd manual page.
SEE ALSO
pppd(8), capiinfo(8), capiinit(8), capictrl(8)
AUTHORS
Carsten Paeth (calle@calle.in-berlin.de)
AVM GmbH Berlin (info@avm.de)
Man(1) output converted with
man2html