Can Zaptel tonezones be allocated to individual channels?

I am trying to configure a TDM400 with one channel as tonezone US and a second channel as tonezone UK and failing badly.

I can load the tonezones in zaptel.conf in the normal way, and both tonezones show up as registered (using dmesg) on when the module is re-loaded, but I simply cannot find a way of associating the correct tonezone to each channel. Whatever I try, I end up with either 2 US or 2 UK channels. All the commentary on zaptel.conf suggests that different zones can be associated with different channels - but I can’t find any assistance on how to do it!

I have also looked to see if the association is supposed to be via zapata.conf, (on the off-chance that it should be done there) but am getting nowhere there either.

Is it possible to do this - or am I looking for functionality that is not supported?

Can anyone help please?


I have now answered my own question, which I set out below, should anyone be interested.

It is possible to have different tonezones on different channels of a TDM400 card (so that you can have US tones & ringing etc on one line, but UK tones & ringing on another).

You need to put loadzone commands in the zaptel.conf file for each of the zones that you wish to use. Note that these are globals and are NOT associated with any particular channel at this stage. It is also possible to put a defaultzone if you so desire. The lines can go anywhere in the file:


You then need to make the association in the zapata.conf file for each channel. For example:

timezone=0 # this defines US
channel => 1

timezone=4 # this defines UK
channel => 2

This uses the undocumented “timezone=x”, which (along with some others) can be found by perusing (yeah right!) the zaptel source code. It is partially broken in that you cannot use timezone=US etc, as the parser is expecting a number rather than a text string. You can get the numbers relevant to the tonezones required by doing a dmesg after installing the wctmd module. Remember that wctmd must be re-loaded after making any changes to zaptel.conf and that asterisk must be re-started after making any changes to zapata.conf

I have spent ages looking for the answer to this problem on the web - and found nothing, hence having to go to the source code. I therefore hope the solution is of assistance (if not obvious!) to other.