Need help to make my fxo card work

i think my zapata.conf file has a problem as zap show channels command in asterisk doesnot give me a channel connected

please tell me what if this configuration is right or not

and what to do next to make my first call

desktop:/etc/asterisk# ztcfg -vv

Zaptel Version:
Echo Canceller: MG2

Channel map:

Channel 01: FXS Kewlstart (Default) (Slaves: 01)

1 channels to configure.

the configuration i made


; define any trunk groups
; hardware channels
; default
; define channels
context=incoming ; Incoming calls go to [incoming] in extensio$
signalling=fxs_ks ; Use FXS signalling for an FXO channel
channel => 1 ; PSTN attached to port 1


loadzone = us
defaultzone = us

i made a simple dialplan to test my card


; incoming calls from the FXO port are directed to this context from zapa$
exten => s,1,Answer( )
exten => s,2,Echo( )

desktop*CLI> zap show status
Description Alarms IRQ bpviol CRC4
Wildcard X101P Board 1 OK 0 0 0

when i start the server the channel is not readed in zap show channels command

desktop*CLI> zap show channels
Chan Extension Context Language MOH Interpret
pseudo default default

desktop*CLI> zap show cadences
r1: 125,125,2000,4000
r2: 250,250,500,1000,250,250,500,4000
r3: 125,125,125,125,125,4000
r4: 1000,500,2500,5000

when i reload my asterisk this waring appear
WARNING[6417]: chan_zap.c:11244 process_zap: Ignoring switchtype

this may seem counter-intuitive but take context=incoming out of zapata.conf and restart asterisk.

what does lsmod say?

lsmod must be ok because the zap selections are showing up and ztcfg is working. The misfire should be in zapata.conf

i take out context = incoming out from zapata.conf and the i have the same problem no channel appear with zap show channel command in asterisk

and the output of lsmod
wcfxo 13728 0
zaptel 196356 3 wcfxo
crc_ccitt 3072 2 hisax,zaptel

maybe try to run dahdi_genconf

since they are still on an older release, zapconf would be the program to run.

zapconf - Generate configuration for zaptel channels.

zapconf [FILES…]

This script generate configuration files for Zaptel hardware. Currently it can generate three files: zaptel, zapata, users and zapataconf (see
below). Without arguments, it generates only zaptel and zapata.

   zaptel - /etc/zaptel.conf
       Configuration for ztcfg(1). It's location may be overriden by the environment variable ZAPCONF_FILE.

   zapata - /etc/asterisk/zapata-channels.conf
       Configuration for asterisk(1). It should be included in the main /etc/asterisk/zapata.conf.  It's location may be overriden by the environment
       variable ZAPATA_FILE.

   users - /etc/asterisk/users.conf
       Configuration for asterisk(1) and AsteriskGUI.  It's location may be overriden by the environment variable USERS_FILE.

   zapataconf - /etc/asterisk/zapata.conf
       Configuration for asterisk(1) and AsteriskGUI.  It's location may be overriden by the environment variable ZAPATACONF_FILE.

ahh I must have missed that

the output of zapconf is
No default_file at /usr/local/share/perl/5.8.8/Zaptel/Config/ line 49.

when i open the file i found this program

package Zaptel::Config::Defaults;

Written by Oron Peled

Copyright © 2007, Xorcom

This program is free software; you can redistribute and/or

modify it under the same terms as Perl itself.

$Id: 3793 2008-02-04 23:00:48Z tzafrir $

use strict;

Use the shell to source a file and expand a given list

of variables.

sub do_source($@) {
my $file = shift;
my @vars = @_;
my @output = env -i sh -ec '. $file; export @vars; for i in @vars; do eval echo \$i=\\\$\$i; done';
die “$0: Sourcing ‘$file’ exited with $?” if $?;
my %vars;

foreach my $line (@output) {
	chomp $line;
	my ($k, $v) = split(/=/, $line, 2);
	$vars{$k} = $v if grep /^$k$/, @vars;
return %vars;


sub source_vars {
my @vars = @_;
my $default_file;
my %system_files = (
"/etc/default/zaptel" => ‘Debian and friends’,
"/etc/sysconfig/zaptel" => ‘Red Hat and friends’,

if(defined $ENV{ZAPTEL_DEFAULTS}) {
	$default_file = $ENV{ZAPTEL_DEFAULTS};
} else {
	foreach my $f (keys %system_files) {
		if(-r $f) {
			if(defined $default_file) {
				die "An '$f' collides with '$default_file'";
			$default_file = $f;
die "No default_file" unless $default_file;
my %vars = Zaptel::Config::Defaults::do_source($default_file, @vars);
return ($default_file, %vars);



the file is 55 line you can start count from the end to go to line 49