Latest driver info, v.1.7.4, October 2009; Press here to show the document (HTML)
Old driver info, v.1.6.1, June 2006; Press here to show the document (HTML)
Old driver info, v.1.6.0, April 2006; Press here to show the document (HTML)
Old driver info, v.1.5.10, March 2006; Press here to show the document (HTML)
Old driver info, v.1.5.9.r3, February 2006; Press here to show the document (HTML)
Old driver info, v.1.5.9.r2, February 2006; Press here to show the document (HTML)
Old driver info, v.1.5.5, October 2005; Press here to show the document (HTML)
Old driver info, v.1.5.4, April 2005; Press here to show the document (HTML)
Old driver info, v.1.5.3, October 2004; Press here to show the document (HTML)
Old driver info, v.1.5.2, August 2004; Press here to show the document (HTML)
Old driver info, v.1.5.0, April 2004; Press here to show the document (HTML)
Old driver (January 2003); Press here to show the document (HTML)
Release directory; Press here to show the directory

This directory also contains driver snapshots.
README.TXT from the SVN sources; Press here to show the document (HTML)
Example capi.conf from the SVN sources; Press here to show the document (HTML)
Example extensions.conf from the SVN sources; Press here to show the document (HTML)
Pictures from mini-ITX installation (April 2006); Press here to show the document (HTML)

 


Press here to show the print version.

 


Version 1.5.9.r2
================


FEATURES
========

  - support for EuroISDN, DSS1 (point to point and point to multipoint)
  - support for overlap sending and dial in digits
  - support for hold and retrieve in NT-mode
  - support for early B-channel connection when dialing out
  - support for Basic Rate Interface, 2xB, in software and hardware
  - support for Primary Rate Interface, 30xB, in software and hardware
  - driver uses a per controller mutex to protect data and chip access
  - direct access to D-channel and B-channels through /dev/ihfcX.Y
  - full support for NT-mode in software and hardware **
  - cloneable "/dev/i4b"
  - new "CAPI 2.0" application interface
  - new "DSS1" protocol
  - new "isdnphone" that uses a kernel soundbridge
  - new "isdntrace"
  - new "isdndecode"
  - new "isdnd"

** not all hardware can run NT-mode


SUPPORTED OPERATING SYSTEMS
===========================

 - FreeBSD-5.3
 - FreeBSD-5.4
 - FreeBSD-5-current
 - FreeBSD-6-current
 - FreeBSD-7-current

 - NetBSD 2.x.x
 - NetBSD 3.x.x

The driver supports generic 
IPAC / ISAC / HSCX / HFC / WINBOND / OHCI / UHCI / EHCI chips.

For a list of supported hardware, see "man ihfc" after install.

Changes since last version:
===========================

	- compilation fixes
	- one bug fix with regard to the NetBSD version
	- PBX fixes and workarounds
	- support for hold and retrive in NT-mode
	- support for dial-tone generation in NT-mode
	- and more (see SVN log)
	
How to install:
===============

Download the three files below into a new directory and type "make install".
To uninstall type "make deinstall".

http://www.turbocat.net/~hselasky/isdn4bsd/releases/FreeBSD/1_5_9_r2/Makefile
http://www.turbocat.net/~hselasky/isdn4bsd/releases/FreeBSD/1_5_9_r2/new_ihfc_1_5_9_r2.tar.bz2
http://www.turbocat.net/~hselasky/isdn4bsd/releases/FreeBSD/1_5_9_r2/new_ihfc_1_5_9_r2.diff.bz2

Type "make help" for more help.

If one has the source tree in a directory different from "/usr/src",
simply use "make S=/usr/mydirectory install". The only files that will not
get installed here is a copy of the header files, which is always installed
in /usr/include/....


How to use NT-mode:
===================

To use NT-mode one needs to add the following lines to the 
"SYSTEM section" in the file "/etc/isdn/isdnd.rc":

controller # 0
# uncomment the next line to
# enable NT-mode for controller 0:
#
# driver_type = DRVR_DSS1_NT
#
controller # 1
controller # 2
controller # n

# USB controllers start at n = 7 and decrements
# Also see "man isdnd.rc".
#
# Another way to set NT-mode is to use the new utility "isdnconfig".
# See "man isdnconfig".
#


Third party software:
=====================

My new version of "chan_capi" can be downloaded from here:

http://www.turbocat.net/~hselasky/isdn4bsd/releases/FreeBSD/1_5_9_r2/chan_capi/


Else the chan_capi module, http://sourceforge.net/projects/chan-capi,
for Asterisk, http://www.asterisk.org, works. One needs to download the
CVS version. No patching or additional libraries are required. If one
needs to patch anything, "man capi20" might help.

Quick install (when asked for password, just press enter):

cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/chan-capi login
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/chan-capi co -P chan_capi 

cd chan_capi
gmake all install

#
# NOTE: one must have Asterisk preinstalled. See "/usr/ports/net/asterisk".
#
# One can find sample configuration files here:
#

http://www.turbocat.net/~hselasky/isdn4bsd/releases/FreeBSD/1_5_9_r2/chan_capi/


NetBSD port:
============

There is a NetBSD port of this driver that currently only supports PCI
ISDN devices, primary rate and basic rate. It is available by using
the following subversion command:

svn --username anonsvn --password anonsvn checkout svn://svn.turbocat.net/i4b

There is a readme file, "i4b/devfs/trunk/README.TXT", that explains
more. The directories, "devfs/trunk" are just historical, and might be
renamed. Thanks to "turbocat.net" for providing the SVN account.

Here is a tarball:

http://www.turbocat.net/~hselasky/isdn4bsd/releases/NetBSD/1_5_9_r2


Quick test:
===========

One can easily test that ones setup is working by using the utility
"capitest". See "man capitest" after install for more information.


NOTES:
======

All I4B header files were moved from "/usr/include/machine/" and 
"/usr/src/sys/i386/include", to "/usr/include/i4b/include" and 
"/sys/i4b/include", including "capi20.h".

The ISDN4BSD CAPI library is 99% compatible with the Linux CAPI library. 
To make a Linux CAPI application compile on FreeBSD one only needs to include 
the file "/usr/include/i4b/include/capi20.h" and make a few one-line patches. 
See "man capi20" for how to resolve those one-liners. 
There is no need to install "liblinuxcapi" !

ISDN4BSD controller 0, is CAPI controller 0. If ones application cannot handle
that, one can add a few lines of code that switches "0" to "MAX_CONTROLLER" in 
incoming frames. ISDN4BSD will accept both "0" and "MAX_CONTROLLER" 
as controller "0".

See "/usr/src/usr.sbin/i4b/capitest/main.c" for an example on how to take full 
advantage of the ISDN4BSD CAPI 2.0 implementation.

See "/usr/src/usr.sbin/i4b/isdntest/main.c" if one wants to stay updated on the 
I4B API.

As a consequence of the changes I have made, one can now run "isdntest" while 
"isdnd" is running. I have plans to make the device allocation dynamic, so 
that applications can allocate devices like "/dev/i4btelX" dynamically, 
without need for configuration. Until further all the "counts" have been put in 
"/sys/i4b/include/i4b_global.h". If one needs more than 8 units please edit 
that file.

The driver now supports all cards that are supported by the official version of 
I4B except active CAPI controllers and one "Frizt" card. So if one has got 
an ISDN device the chances should be good that this driver will support it.

--HPS

This document was last updated on Fri Feb 12 18:13:40 CET 2010.