capiplugin

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
CAPIPLUGIN(8)							CAPIPLUGIN(8)



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	 con-
       trollers	 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 fea-
       ture 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	 dif-
       ferent  version	of  the	 pppd. So you need a different capiplugin for
       every version of the pppd. The different plugins will be in the direc-
       tory /usr/lib/ppp/<pppd-version>.  Since 2.4.1 pppd checks if the ver-
       sion of the plugin matches and also search the plugins in these direc-
       tories.	With pppd versions before 2.4.1 you need to specify the abso-
       lut 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, pro-
	      tocol 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, dial-
	      timeout, 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,	 pro-
	      tocol 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 con-
	      nection 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, proto-
	      col


       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  connec-
	      tion 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 connec-
	      tion 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	 cre-
	      ated 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, sep-
	      arated 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 imme-
	      diatly 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>


       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.


       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	 com-
	      mas.   If	 this  option  is not set, the value of option msn is
	      used.


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


       number <phone numbers>
	      List of phone numbers to call, separated by commas.  Every num-
	      ber in the list is called until  a  connection  can  be  estab-
	      lished.	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 | 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 con-
	      troller 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 administra-
       tor 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 administra-
       tor 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  administra-
       tor 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 administra-
       tor 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 num-
       bers  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 cbnum-
	      ber 4711 192.168.0.1:192.168.0.2
	      p1:23:respawn:/usr/sbin/pppd call incoming-cli cli 04712 cbnum-
	      ber 4712 192.168.0.1:192.168.0.3
	      p2:23:respawn:/usr/sbin/pppd call incoming-cli cli 04713 cbnum-
	      ber 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  opera-
       tion; 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)