Asterisk Drivers

The ztdummy Driver
In Asterisk, certain applications and features require a timing device in order to operate
(Asterisk won’t even compile them if no timing device is found). All Digium PCI
hardware provides a 1-kHz timing interface. If you lack the PCI hardware required to
provide timing, the ztdummy driver can be used as a timing device. On Linux 2.4 kernel–
based distributions, ztdummy must use the clocking provided by the UHCI USB
controller. The driver looks to see that the usb-uhci module is loaded and that the kernel
version is at least 2.4.5. Older kernel versions are incompatible with ztdummy.
On a 2.6 kernel–based distribution, ztdummy does not require the use of the USB
controller. (As of v2.6.0, the kernel now provides 1-kHz timing with which the driver
can interface; thus, the USB controller hardware requirement is no longer necessary.)
The default Makefile configuration does not create ztdummy. To compile ztdummy,
you must remove a comment marker from the Makefile. Open it in your favorite text
editor and look for the following line:

->MODULES=zaptel tor2 torisa wcusb wcfxo wctdm \
->ztdynamic ztd-eth wct1xxp wct4xxp wcte11xp # ztdummy
Remove the hash* (#) symbol from in front of “ztdummy,” save the file, and compile
Zaptel as usual.

The Zapata Telephony Drivers
Compiling the Zapata telephony drivers for use with your Digium hardware is
straightforward—simply run make for either the 2.4 or 2.6 Linux kernels (the Make-file will determine the kernel version for you). Use these commands to compile Zaptel
(replace version with your version of zaptel):
# cd /usr/src/zaptel-version
# make clean
# make
# make install

Using ztcfg and zttool
Two programs installed along with Zaptel are ztcfg and zttool. The ztcfg program is
used to read the configuration in /etc/zaptel.conf to configure the hardware. The
zttool program can be used to check the status of your installed hardware. For
instance, if you are using a T1 card and there is no communication between the endpoints,
you will see a red alarm. If everything is configured correctly and communication
is possible, you should see an “OK.” The zttool application is also useful for
analog cards, because it tells you their current state (configured, off-hook, etc.). The
use of these programs will be explored further in the next chapter.

Passing Module Parameters to Configure Zaptel
Some of the Zaptel options can also be enabled when loading the module, by passing
module parameters to the wctdm driver. You can list these parameters at load time (as
opposed to statically changing them in the zconfig.h file) with the modinfo command:
# modinfo -p wctdm
debug int
loopcurrent int
robust int
_opermode int
opermode string
timingonly int
lowpower int
boostringer int
fxshonormode int
You then pass the module parameters to the modprobe command. For example, you
can use the following command to activate the boostringer parameter when the
module is loaded, instead of statically defining its use with #define BOOST_RINGER in
the zconfig.h file:
# modprobe wctdm boostringer=1
Another common parameter to pass to a module is opermode. By passing opermode to
the wctdm driver, you can configure the TDM400P to better deal with line impedances
for your country. opermode accepts a two-letter country code as its argument.

Comments

Popular posts from this blog

Error : DependencyManagement.dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: com.adobe.aem:uber-jar:jar:apis -> version 6.3.0 vs 6.4.0

Operators in Asterisk with Linux

ERROR Exception while handling event Sitecore.Eventing.Remote.PublishEndRemoteEventException: System.AggregateExceptionMessage: One or more exceptions occurred while processing the subscribers to the 'publish:end:remote'