WANPIPE MULTILINK PPP SUPPORT
-----------------------------

Dependencies:
-------------

	1. Compiled Kernel  PPP sync layers
	   preferably as modules.
	
		make menuconfig
		under "Network Device Support"
		Enable PPP, MULTILINK, SYNCPPP ...

	2. PPPD Daemon version 2.4.0 or greater

	3. Latest Wanpipe drivers.
	   WANPIPE AFT driver must be compiled.
	
	
Description:
-----------

The Sync/Multilink PPP is a standard implementation 
of the PPP protocol implemented in the Linux Kernel, NOT 
in WANPIPE firmware. 

Using the Sangoma adapter as a TTY serial card and the Linux 
PPP Layer a standard PPP connection can be established over 
a T1/T3 Link.


Using the PPPD daemon, kernel Sync-PPP layer and the Wanpipe sync TTY
driver: a PPP protocol connection can be established via Sangoma 
adapter, over T1 leased line.

The kernel PPP layer supports MULTILINK protocol. 
It can be used to bundle any number of Sangoma adapters (T1 lines) 
into one, under a single IP address. Thus, efficiently obtaining 
multiple T1 throughput.

NOTE: The remote side must also implement MULTILINK PPP protocol.



WANPIPE Setup/Configuration
-----------------------------

Assuming:
     - WANPIPE modules have been installed 
       with CHDLC support.
     
     - Kernel PPP layer compiled and loaded.

     - PPPD daemon version 2.4.0 installed.


Refer to README.install on how to 
recompile the kernel/upgrade wanpipe modules.


1. Create a WANPIPE configuration file using the
   '/usr/sbin/wancfg' GUI configurator.
	
	eg: /usr/sbin/wancfg
	

2. Select Card Type:  Hardware Probe	
   	(A10X TE1 or A300 TE3)
  
  
3. Choose Protocol:  TTY


4. Configure Interface Section: Select TTY MINOR number


	TTY_MINOR: TTY MINOR represents a TTY port.
	   	
		Options: 0,1,2,3 to 8  
		Default: 0

	   	It binds a WANPIPE device driver to the 
	   	/dev/ttyWPX device, where X=(0,1,3,..).
		
	   	For example MINOR number 0 binds a
	   	Wanpipe TTY driver to /dev/ttyWP0. Thus, when pppd
	   	daemon opens the /dev/ttyWP0 it will reach 
	   	the device driver whose Minor number is 0.

	   	Note TTY_MINOR must differ for each Wanpipe device.


	Furthermore, all subsequent devices must be configured with 
	different MINOR numbers.

5. Save and Exit


6. Start wanpipe:
	wanrouter start wanpipe1

	Check /var/log/messages.
	
	...
	w1g1: TTY Driver Init: Major 240, Minor Range 0-7
	w1g1: TTY Sync Dev Minor 0 : /dev/ttyWP0
	...
	
	Now the driver is ready for pppd connection.





PPPD MULTILINK Setup
--------------------
	   
1. Three files MUST be created for each Wanpipe device:
   
	- /dev/ttyWPX 			:X is TTY_MINOR number.
	- /etc/ppp/options 		
	- /etc/ppp/peers/isp_wanpipeX 	:X is a wanpipe device number (1-16)
	


2. Device /dev/ttyWP(0,1,2..)

	To interface a PPPD daemon to the WANPIPE TTY driver 
	a /dev/ttyWPX X={0,1,3...) device must be created.

		ex: mknod -m 666 /dev/ttyWP0 c 240 0
		    mknod -m 666 /dev/ttyWP1 c 240 1		
		    mknod -m 666 /dev/ttyWP2 c 240 2
		    ...
		    
		Note: 240 is the Major Number
		0,1,2... are the Minor Numbers

3. File /etc/ppp/options

	-------CUT HERE ----------------------
	persist
	defaultroute
	debug
	kdebug 2
	asyncmap 0
	sync
	multilink
	lcp-echo-interval 5
	lcp-echo-failure 12

	nobsdcomp
	nodeflate
	nopcomp
	novj
	novjccomp
	noaccomp -am

	#On some CISCO routers we must
	#be in silent mode
	#silent


	#DEBUG Only should be commented out in production
	nodetach

	-------CUT HERE ----------------------

4. File /etc/ppp/peers/isp_wanpipeX (X=1 to 16)


	-------CUT HERE----------------------
	ttyWP0          #Bind to WANPIPE device wanpipe1

	#201.1.1.1:201.1.1.2

	#user bonded-isp-username

	-------CUT HERE----------------------




PPPD MULTILINK Operation
------------------------


1. WANPIPE TTY drivers must be started before the 
   pppd attempts to open a /dev/ttyWPX device.

	ex: wanrouter start wanpipe1

   In case of MULTILINK, all wanpipe devices should be
   started before pppd is started.
   

2. Once the Wanpipe device is started, PPP connection can 
   be established by calling the pppd call script (created by wancfg):

	ex: pppd call isp_wanpipe1

		Start PPP protocol on MASTER device wanpipe1.

   In case of MULTILINK, after the MASTER device has connected, and
   a ping test is successful:

   Start the second link (SLAVE DEVICE) by running pppd call script
   for the SLAVE device:

   	ex: pppd call isp_wanpipe2

		Start PPP protocol on SALVE device wanpipe2 and
		attach to the MASTERs network interface.

3. For further information on MULTILINK and pppd please refer
   to:
   	1. man pppd
	2. /usr/local/wanrouter/PPP-HOWTO
	3. Call Sangoma Tech Support : 
		Tel:    905-474-1990
		Email:  techdesk@sangoma.com





Sample Cisco 1600 Setup
-----------------------

This example setup should be given to an ISP that doesn't 
know how to setup up Mulitlink PPP on a Cisco box :)


Scenaraio:

Two Wanpipe adapters connected back to back to a CISCO 1600 via two
WAN T1 lines, running MULTILINK PPP, in order to bundle two T1 lines
for geater than T1 throughput.


	1) Enter the CISCO configuration mode
		Cisco>enable
		Cisco>password: <enter password>
		Cisco#

	2) Configure Global Mulitlink PPP protocol

		Cisco# config
		Cisco(config)# multilink virtual_template 1
		Cisco(config)# exit

	3) Configure Serial0 device for Multilink PPP

		Cisco# config
		Cisco(config)# interface serial0
		Cisco(config-if)# encapsulation ppp
		Cisco(config-if)# no ip address
		Cisco(config-if)# ppp multilink
		Cisco(config-if)# no shutdown
		Cisco(config-if)# exit

	4) Configure Serial1 device for Multilink PPP
	
		Cisco(config)# interface serial1
		Cisco(config-if)# encapsulation ppp
		Cisco(config-if)# no ip address
		Cisco(config-if)# ppp multilink
		Cisco(config-if)# no shutdown
		Cisco(config-if)# exit

	5) Configure virtual_template interface
	
		Cisco(config)# interface virtual_template 1
		Cisco(config-if)# encapsulation ppp
		Cisco(config-if)# ip address <local ip> <netmask>
		Cisco(config-if)# ppp multilink
		Cisco(config-if)# exit
		Cisco(config)# exit


Back to Back situation
----------------------

If you are setting up WANPIPE back to back Multilink
against an external router:

	Interface (onboard FT1 CSU/DSU): 
		Cable: Back to Back T1 cable (Part number: 624).


	Interface (V35): 
		Cable: Back to Back V34 Cable (Part number: 609)
		
		Clocking: Clocking must be set to INTERNAL on the
			  WANPIPE side.
		
	For all sangoma cables please refer to: 
		http://www.sangoma.com/faqcable.htm


	
Tech Support
------------

For further information on MULTILINK and pppd please refer to:

   	1. man pppd
	2. /usr/local/wanrouter/PPP-HOWTO
	3. Call Sangoma Tech Support : 
		Tel:    905-474-1990
		Email:  techdesk@sangoma.com



APPENDIX
========


/etc/ppp/options 
-----------------------------
persist
defaultroute
debug
kdebug 2
asyncmap 0
sync
multilink
lcp-echo-interval 5
lcp-echo-failure 12

nodeflate	#Do not use compression
nobsdcomp	#Do not use bsd compression
noccp		#Disable CCP (Compression Control Protocol)
noaccomp	#Disable  Address/Control compression
nopcomp		#Disable  protocol  field compres.
novj		#Disable Van Jacobson TCP/IP header compres.
novjccomp	#Disable the connection-ID compression
nopredictor1	#Do not accept or agree to Predictor-1 compres.


#On some CISCO routers we must
#be in silent mode
#silent


#DEBUG Only should be commented out in production
nodetach

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




/etc/ppp/peers/isp_wanpipe1
-----------------------------
ttyWP0          #Bind to WANPIPE device wanpipe1

#201.1.1.1:201.1.1.2

#user bonded-isp-username

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



