Provided by: pppdcapiplugin_3.8.2005-12-06-2ubuntu4_i386 bug

NAME

       capiplugin - Plugin for pppd (Point-to-Point Protocol daemon)

SYNOPSIS

       pppd [options] plugin capiplugin.so [options for capiplugin]
       before pppd 2.4.1:
       pppd    [options]   plugin   /usr/lib/pppd/<pppd-version>/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  communication over leased lines. It
       implements a feature to reject an  incoming  call  and  callback.  This
       feature  can  also  be  used when dialing out.  In this case, the party
       called has to reject the call and call back soon.  When using  dial-on-
       demand it is possible let both parties setup the connection, that means
       while the pppd is in dial-on-demand mode not only an outgoing paket but
       also  an  incoming call can trigger the connection setup. This can also
       combined with callback to assign the cost to one side only (COSO).

PPPD VERSIONS

       The plugin interface  of  the  pppd  is  binary  incompartible  between
       different  version  of the pppd. So you need a different capiplugin for
       every version of the  pppd.  The  different  plugins  will  be  in  the
       directory  /usr/lib/ppp/<pppd-version>.  Since 2.4.1 pppd checks if the
       version of the plugin matches and also  search  the  plugins  in  these
       directories.  With  pppd  versions before 2.4.1 you need to specify the
       absolut pathname of the plugin.

HOW IT WORKS

       The capiplugin registers a new_phase_notifier 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  register  a  timer function that is called every
       second to handle 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 monitors 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) When operating in dial-on-demand mode
       with wakeup on incoming calls, in phase DORMANT the plugin  will  setup
       CAPI2.0 to accept incoming calls.  To wakeup pppd when an incoming call
       arrives, the plugin will generate an UDP paket to the discard port  (9)
       of the gateway, so don’t filter this paket or wakeup by incoming a call
       will not work.

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 coso remote.
              Recommended options: cli and msn or inmsn.
              Other   possible   options:  cbwait,  controller,  connectdelay,
              dialtimeout, protocol

       dial out on demand
              Initiate the connection only on demand, i.e. when  data  traffic
              is  present  and  drop the connection after a fix amount of idle
              time.
              Required options: number.
              Required pppd options: demand, connect, idle.
              Recommended options: msn.
              Other  possible  options:  controller,   dialmax,   dialtimeout,
              protocol and redialdelay.

       dial out on demand on an incoming phone call
              Initiate  the  connection only on demand, i.e. when data traffic
              is present or an incoming phone call is detected  and  drop  the
              connection  after  a fix amount of idle time. This is usefull if
              you are not at home and ypou  want  your  computer  to  make  an
              connection to the internet.
              Required options: number and cli.
              Required  options: number, voicecallwakeup and inmsn and/or cli.
              Required pppd options: demand, connect, idle.
              Recommended options: msn.  Other possible  options:  controller,
              dialmax, dialtimeout, protocol, redialdelay and inmsn.

       wait for dial in
              Wait for calls and accept incoming calls.
              Recommended options: cli and msn or inmsn.
              Possible   options:   connectdelay,   controller,   dialtimeout,
              protocol

       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

       dial on demand and also wait for dial in
              Initiate  the  connection only on demand, i.e. when data traffic
              is present  or  when  the  other  side  dial  in  and  drop  the
              connection after a fix amount of idle time.
              Required options: number and inmsn and/or cli.
              Recommended options: cli and msn or inmsn.
              Optional options: coso caller.
              Other   possible  options:  cbdelay,  connectdelay,  controller,
              dialtimeout, protocol

       dial on demand and also wait for dial in with COSO.
              Initiate the connection only on demand, i.e. when  data  traffic
              is  present  or  when  the  other  side  dial  in  and  drop the
              connection after a fix amount of idle time. If option coso local
              is  set, pppd will reject an incoming call from the remote party
              and will callback.  With the option coso remote set, the  remote
              party should reject the incoming call and call back.
              Required  options:  number, inmsn and/or cli, coso local or coso
              remote.
              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

       avmadsl
              make an DSL connection with the Fritz!Card DSL controller.   The
              parameters  for  the  DSL  connection  will  be loaded from file
              /etc/drdsl/adsl.conf. This file can be edited or will be created
              by the program drdsl.

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

       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  The option is retained  for  compartiblity  reasons  only.   Use
              option coso local or coso remote instead.
              Enable  callback  mode.   When option number is set, call number
              and wait for callback.  When option number is not set, wait  for
              incoming  call,  reject  the call and call back.  This option is
              optional if the cbnumber option is set.

       connectdelay <seconds>
              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 the 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 number>,<ddi>,<length of internal numbers>

       controller[1-3] <controller specification>
              Like  option  controller.   Used  to  specify  more   than   one
              controller

       coso caller
              No callback is done, the costs are assigned to the caller.

       coso local
              The  costs are assigned to the local party.  On an incoming call
              pppd will reject the call and callback.

       coso remote
              The costs are assigned to the remote  party.   On  an  outcoming
              call the remote party will reject the call and callback.

       dialmax <times>
              Maximum  number  of  times  the  list  of phone numbers is tried
              before giving up.  Default value is 4.
              If dialmax is set to 0, the list is retried infinitely  until  a
              connection is made (or the process is stopped).

       dialtimeout <seconds>
              Time to wait for the connection to be established or fail before
              giving up.  Default value is 60 seconds.

       inmsn <msn>
              List of phone numbers to monitor for calls, separated by commas.
              If this option is not set, the value of option msn is used.

       inmsn[1-3] <msn>
              List  of  phone  numbers  to  monitor  for  calls  on controller
              specified by option controller[1-3], separated  by  commas.   If
              this option is not set, the value of option msn[1-3] is used.

       msn <msn>
              Phone number used to make outgoing calls. Also used for incoming
              calls if option inmsn is not set.

       msn[1-3] <msn>
              Phone number used to make outgoing calls on controller specified
              by  option  controller[1-3].  Also  used  for  incoming calls if
              option inmsn[1-3] is not set.

       number <phone numbers>
              List of phone numbers  to  call,  separated  by  commas.   Every
              number  in  the  list  is  called  until  a  connection  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.

       numberprefix[1-3] <prefix>
              phone number to dial to access an outside  line  for  controller
              specified  by option controller[1-3]. For example, numberprefix1
              0.

       protocol hdlc | x75 | v42bis  |  modem  |  analogmodem  |  v110async  |
       v120async
              ISDN protocol to use. With hdlc and adskpppoe, the  sync  option
              must  be  added to the pppd.  With x75, v42bis, modem, v110async
              and v120async the sync option MUST NOT be enabled. Default value
              is   hdlc.   Not  all  controllers  support  v42bis,  modem  and
              v120async.   Use  capiinfo(8)  to  view  which   features   your
              controller supports.

       redialdelay <seconds>
              Number  of seconds to wait between redialing. Default value is 5
              seconds.

       voicewakeup
              With this option a incoming voicecall can  trigger  an  outgoing
              connection setup.

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 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 administrator 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 capiplugin.so
              msn MSN
              number PHONENUMBER
              coso remote
              cli 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 administrator to resemble the following:
       USERNAME * PASSWORD *

EXAMPLE DIAL OUT ON DEMAND

       To dial out on demand and drop the link after 120 seconds idle time  on
       the link add this line to the /etc/inittab file:

              isp:23:respawn:/usr/sbin/pppd  call  isp  demand connect "" idle
              120

       where the /etc/ppp/peers/isp file is set up by the system administrator
       to resemble the following:

              sync
              noauth
              defaultroute
              name USERNAME
              plugin 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 administrator to resemble the following:

              USERNAME * PASSWORD *

EXAMPLE DIAL OUT ON DEMAND AND ON AN INCOMING PHONE CALL

       To dial out on demand or on an incoming phone call and  drop  the  link
       after  120  seconds  idle  time  on  the  link  add  this  line  to the
       /etc/inittab file:

              isp:23:respawn:/usr/sbin/pppd call isp demand  connect  ""  idle
              120

       where the /etc/ppp/peers/isp file is set up by the system administrator
       to resemble the following:

              sync
              noauth
              defaultroute
              name USERNAME
              plugin capiplugin.so
              msn MSN
              number PHONENUMBER
              cli VOICEPHONENUMBER
              voicecallwakeup
              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 administrator to resemble the following:

              USERNAME * PASSWORD *

EXAMPLE DIAL OUT ON DEMAND AND ALSO ACCEPT AN INCOMING DATA CALL

       To  dial  out  on  demand or on an incoming data call and drop the link
       after 120  seconds  idle  time  on  the  link  add  this  line  to  the
       /etc/inittab file:

              isp:23:respawn:/usr/sbin/pppd  call  isp  demand connect "" idle
              120

       where the /etc/ppp/peers/isp file is set up by the system administrator
       to resemble the following:

              sync
              noauth
              defaultroute
              name USERNAME
              plugin capiplugin.so
              msn MSN
              number PHONENUMBER
              inmsn MSN
              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 administrator 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 "dialinserver".  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 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   04711
              192.168.0.1:192.168.0.2
              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 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 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   controller   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:

              sync
              noauth
              lcp-echo-interval 5
              lcp-echo-failure 3
              lcp-max-configure 50
              lcp-max-terminate 2
              noccp
              noipx
              persist
              plugin 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 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 without, 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, use one MSN
       for CLI authenticated calls and another for 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)

                                                                 CAPIPLUGIN(8)