Help with first extensions.conf configuration


I am certainly very new here, and I’m reading a ton of stuff at and elsewhere. But I’m having trouble getting started on the learning curve. I think with a few hints getting to a point where I can begin experimenting, this will become a lot more clear.

I’ve setup a Linux system. It’s Debian Testing. I put kernel on there and compiled it and booted off that. I apt-get install’d all the asterisk, zaptel, and libpri dependancies, then dowloaded the asterisk, zaptel, and libpri source from cvs. Compiled and installed them, in the correct order, made samples, … I think I’m just about good to go :smile:

I put in a TDM22B (2 FXO, 2 FXS) and modprobed zaptel, then wctdm. lspci shows my card detected correctly and dmesg output after modprobe’ing looks good too.

I connected a phone to the FXS, and a line to the PSTN to the FXO. I picked up the phone and dialed 500 and heard a voice menu and then got connected to Digium. (very cool.)

So… now… on to the real config and I’m a bit lost.

/etc/zaptel.conf has:
loadzone = us

Just to get started, I need help with the extensions.conf.

I’d like to have the incoming POTS line go through Asterisk and ring both FXS extensions
when a call comes in. So far, I haven’t been able to do that.

In /etc/asterisk/extensions.conf, in addition to the global and default stuff, I set up:

exten => s,1,Wait,1
exten => s,n,Answer
exten => s,n,Dial(Zap/1)

I know I must be missing something (or several things). When an incoming call comes in, asterisk doesn’t answer it and doesn’t pass it on to the phone connected to the first port on the TDM400 card.

Can someone offer a basic extensions.conf that would accomplish something like this? I’d really appreciate it, and I think once I can get a trivial case working I should be able to figure a lot more out.

Thank you!


First, there are two good tutorials with examples here: … risk2.html

My guess is that you are missing a context which will serve as a link from the zapata.conf to the extensions.conf file.

In other words, you need a text line like this in the zapata.conf file:

context = this-is-my-context

and then, in the extensions file:

exten => s,1,Wait,1
exten => s,n,Answer
exten => s,n,Dial(Zap/1)

A command which should be very useful is the “debug”. For incoming SIP calls it is:

sip debug

but I am not sure which one is used for incoming hardware boards calls.

Finally, this chapter on dialplan/extensions should help, too:



Thank you for those links! I will read all of them.

You are also write it was a missing entry in my zapata.conf file. I had setup signalling=fxo_ks for the internal extensions, but I’d forgotten signalling for the PSTN facing FXO modules. I added in signalling=fxs_ks in a new context, and then * was able to answer incoming calls.

I think I had zaptel.conf setup correctly (channels 3-4 were in there) but without the fxs_ks signalling in zapata.conf, channels 3 and 4 couldn’t be initialized/signaled properly.

I used ‘asterisk -vvvv’ which offered some helpful debugging information.

Thanks again for your reply and for the references!