The Quick and Dirty Guide to Zaptel PPP

1. Compile kernel with PPP (and PPP multilink support):

Device Drivers
Networking Support
*PPP (point-to-point protocol) support
*PPP multilink support
*PPP filtering
*PPP Deflate compression
*PPP BSD-Compress compression

2. Get ppp-2.4.1b2.WORKING.tar.bz2 from:

ftp.digium.com/pub/zaptel/misc
This package includes PPP already patched with the
pppoe and zaptel patches - and patched to work on
Linux 2.6.7

3. Uncompress, compile, and install PPP:

tar xjvf ppp-2.4.1b2.WORKING.tar.bz2
cd ppp-2.4.1b2.WORKING
configure
make
make install

4. Uncomment the following line in zconfig.h of the Zaptel package:

cd /usr/src/zaptel
vim zconfig.h
#define CONFIG_ZAPATA_PPP

5. Build Zaptel:

make
make install

6. Configure the spans and channels that you want in /etc/zaptel.conf:

span=1,1,0,esf,b8zs
span=2,0,0,esf,b8zs
clear = 1-24
clear = 25-48

7. Load and configure your driver:

modprobe wct4xxp
ztcfg

8. Setup your PPP link on the local and remote boxes:

Create /usr/local/bin/pppzaptel and input the following:

#!/bin/sh
ARGS="-detach noauth debug 192.168.0.1:192.168.0.2 mp lcp-echo-interval 1 lcp-echo-failure 5 persist holdoff 1 defaultroute plugin zaptel.so"
/usr/sbin/pppd $ARGS $1

Then on the remote box:

#!bin/sh
ARGS="-detach noauth debug 192.168.0.2:192.168.0.1 mp lcp-echo-interfal 1 lcp-echo failure 5 persist holdoff 1 defaultroute plugin zaptel.so"
/usr/sbin/pppd $ARGS $1

Now, edit /etc/inittab to make sure it respawns if disconnected:

p1:2345:respawn:/usr/local/bin/pppstuff 1
p2:2345:respawn:/usr/local/bin/pppstuff 25

9. Enjoy selectively unplugging T1's from your Zaptel interfaces and watch your
data transfers continue.