genzaptelconf -- generates zaptel configuration (TDM adaptors)


genzaptelconf [-sRdvzF] [-c <country_code>] [-e <base_exten>]

genzaptelconf [-sRdv] -l -- only list to standard output

genzaptelconf -su -- only unload zaptel modules

genzaptelconf -h -- Help screen


genzaptelconf is a script to detect zaptel devices (currently mostly TDM cards are supported). It generates both /etc/zaptel.conf and /etc/asterisk/zapata-channels.conf

PRI and BRI (with ZapBRI) cards are basically identified as well. However the span configiration is a default that I only hope is sane. Looking for feedback


-c country_code

A two-letter country code. Sets the country-code for the zonezone entries in zaptel.conf , The default is the value of lc_country from /etc/default/zaptel and failing that, "us".


Also try to detect modules. Unloads all zaptel modules and loads them one by one. Considers a module useful if it loaded successfully and if loading it has generated at least one zapata channel.

The list of detected modules is written as the value of ZAPTEL_MODS in /etc/default/zaptel

-e base_exten_num

Configure channel i as extension exten_num + i . This is mostly for the caller-id values. Crude, but may be good enough. See also -r


Disable writing FXS extensions in zapata.conf


Only list deceted channels and their signalling. Don’t write configuration files. Note, however that -ld will still rewrite the modules line in /etc/default/zaptel (see -d above).


Update /etc/modules with a list of our modules, thereby triggers their loading via modprobe on the next boot.

This triggers the -d option as well.


Don’t restart asterisk even if it was stopped using -s .


Stop asterisk for the duration of the test. The detection will only work if nobody uses the zaptel channels:

* To allow unloading of modules

* to allow reading configuration files.

This option tells the script to stop asterisk (if it was running) and to try to start it after the end of the test.


Be verbose. lists the detected modules if -d is used. Lists detected channls. In the end tries to connect to asterisk to get a list of configured zaptel channels.


emulate the operation of zapscan.bin: generate /etc/asterisk/zapscan.conf with the results of the scan.


Look at the beginning of the script for a number of variables that can be overriden through the configuraion file. Some variables can also be overriden through the environment. The configuration file is sourced by bash but for compatibility expected to have only ’var=VALUE’ lines and comments or empty lines.

The configuration will first be read from /etc/default/zaptel if it exists, and /etc/sysconfig/zaptel otherwise (But those file names may be overriden, see ZAPTEL_BOOT_DEBIAN and ZAPTEL_BOOT_FEDORA below). Variables set in those files will override the default settings and setting rom the environment.

The following variables may be set from the environment: ZAPCONF_FILE, ZAPATA_FILE, ZAPTEL_BOOT_DEBIAN, ZAPTEL_BOOT_FEDORA, DEVZAP_TIMEOUT, ZTCFG


The default country. Can be also overriden by the option -c


The base number used for automatic numbering


If set to ’yes’, no context changes are made in zapata-channels.conf


The context into which calls will go from zaptel trunks.


The context into which calls will go from zaptel phones.


If set to ’yes’, no group settings are made in zapata-channels.conf


The group number for zaptel trunks.


The group number for zaptel phones.


modules list. Used for unloading and modules detection. The order of modules is the same for both.


ztcfg’s configuration file. The sane default is /etc/zaptel.conf .


The generated partial zapata.conf snippet. Default: /etc/asterisk/zapata-channels.conf .


The Debian Zaptel defaults file. Normally /etc/default/zaptel


The Zaptel defaults file on various other distributions. Normally /etc/sysconfig/zaptel .


Maximal number of seconds to wait for /dev/zap to be initializaed by udev.


The full path to the ztcfg tool. Default: /sbin/ztcfg genzaptelconf will also explicitly test for /usr/sbin/ztcfg as a last resort.



The configuration file used by ztcfg to configure zaptel devices. re-written by genzaptelconf . A backup copy is saved to /etc/zaptel.conf.bak .


The configuration file of Asterisk’s chan_zap. Not modified directly by genzaptelconf. If you want genzaptelconf’s setting to take effect, add the following line at the end of zapata.conf:

#include "zapata-channels.conf"


This is the snippet of chan_zap configuration file that genzaptelconf generates. . A backup copy is saved to /etc/asterisk/zapata-channels.conf.bak .


This file holds configuration for both genzaptelconf and /etc/init.d/zaptel . It is sourced by both scripts and can thus be used to override settings of variables from those scripts.


A debian-specific list of kernel modules to be loaded by modprobe at boot time. When the option -d (detect) is used, genzaptelconf will write in this file zaptel modules to be loaded. If you want to use a different file, set MOD_FILELIST . If it is rewritten, a backup copy is saved to /etc/modules.bak .

The backup copy of /etc/modules


ztcfg(8) asterisk(8).


If you override a configuration variable both through the environment and through the configuration file, the value from the configuration file wins.


This manual page was written by Tzafrir Cohen <> Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 any later version published by the Free Software Foundation.

On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.