Echo Canceller
--------------
In DAHDI (software) echo cancellers are separate modules, that are 
automatically loaded if their name is used in /etc/dahdi/system.conf .
dahdi_genconf, the configuration generator, thus defaults to creating a 
system.conf with an echocanceller line for each channel. By default it is 
'mg2' (the MG2 echo canceller) but this can be changed by setting 
'echocanceller' (see the sample genconf_parameters file).

The Debian package of dahdi-linux is patched to include support of the 
echo canceller OSLEC. Thus dahdi-tools has been patched accordingly to
make it the default echo canceller, and to remove 'echo' as well when
unloading modules.

However if you, for any strange reason, use a version of the DAHDI
kernel modules that does not include a working dahdi_echocan_oslec.ko,
just set in /etc/dahdi/genconf_parameters:

  echo_can mg2


FXOTune
-------
FXOTune is a utility provided by Digium for fine-tuning parameters of the 
FXO modules of their TDM cards and compatibles, as well as of those of the 
Xorcom Astribank.

This package includes the fxotune utility. It will also load configuration 
from /etc/fxotune.conf if fxotune was used to tune the FXO modules. Note 
that fxotune will not work with X100P and similar cards.


Supported tone-zones
--------------------
DAHDI is capable of playing ring tone, buy tone etc. for a large variety of
countries. This is done using the loadzone and defaultzone settings in 
system.conf.  A list of tone-zones supported by DAHDI and libtonezone is 
included in the file tonezones.txt in the documentation directory. 

Example section of system.conf:
loadzone=us,uk,de
defaultzone=us


dahdi vs. dahdi-linux
---------------------
Upstream DAHDI is split to two parts: dahdi-linux are parts that are 
supposed to be linux-specific, whereas dahdi-tools are supposed to be
generic utilities to use the DAHDI interface.

DAHDI-linux includes mostly kernel modules, but also udev rules, xpp 
initialization scripts and firmwares (latter are stripped from the 
Debian package). Those are included in the package dahdi-linux.

Most of the dahdi utilities, e.g. dahdi_cfg, dahdi_test, dahdi_monitor
and the dahdi-perl utilities are included in the package 'dahdi' that is
built from the source package dahdi-tools.


Automatic startup
-----------------
There is work in progress to start DAHDI devices automatically.
See also http://docs.tzafrir.org.il/dahdi-tools/#_initialization and for
the low-level description:
http://docs.tzafrir.org.il/dahdi-linux/#_span_assignments

The dahdi-linux package sets dahdi.auto_assigned_spans to 0 by default,
but the dahdi-tools should have the required scriptary in place to make
sure an upgrade will not break an existing system. That said, if your
system has more than one DAHDI device, you should create a
/etc/dahdi/assigned-spans.conf using 'dahdi_genconf assignedspan' (or
manually) rather than relying on any other ordering mechanism.

Much work has been put in place to make sure configurations
work as before if there are no changes. It is still recommended to create
a span-assignments file for your setup if you have more than one device:

  dahdi_genconf assigedspans

The udev hook scripts run two main hooks:
* /usr/share/dahdi/dahdi_handle_device:
      Run when a new DAHDI device is added or removed. Mainly to assign
      spans.
* /usr/share/dahdi/dahdi_config_span:
      Run when a new DAHDI span is added or removed. Mainly to configure
      the new spans.

As you would expect, there are .d directories for the scripts and those
are places for your hooks, if needed.
