In this tutorial we will give you an example which includes one FXO and one FXS station interfaces. TDM400P card with such modules is called TDM11B. Below you will find description of the name model used by Digium.
The Wildcard TDM11B is a half-length PCI card that supports FXO and FXS interfaces for connecting analogue or ADSI telephones and regular POTS through a computer. TDM11B card is from the TDM400p family. This card can be extended with additional FXO or FXS modules (maximum 4 modules per card).
Can we find what modules are plugged in the card just from the name? Yes, the name is divided in several parts: TDM X Y B. X – shows how many FXS modules are in the card, Y – is the number FXO modules. So TDM11B – has one FXS module, and one FXO module
For the hardware requirements you need minimum 500Mhz Pentium III or better with 64 MB.
Have a look at the card before placing it in the PCI slot. Find empty PCI slot and plug the card there, next you have to plug power cable in the card. There is a red and a green module on it:
Red Module is FXO – Foreign Exchange Office
An FXS device initiates and sends signals to an FXO device. The telephone that receives the calls is the last FXO device (if you have several FXO devices) and when the signal is received from the FXS device the telephone has to ring.
Plug the cables
To connect the device to your network – connect the FXO port to the outside lines and local PSTN phone to the FXS port. The FXO uses FXS signalling and the FXS device uses FXO signalling.
When you have everything connected, turn on the Asterisk PBX PC and configure the device there.
Did your OS recognize the card
By typing ‘lspci’ you will receive a list of all the PCI devices you have. Note that Digium cards are recognized under different name:
– Communication controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface / Network controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface for the TE110p or the TDM400p
– Network controller: Jens Scoenfeld for the TE110p or the TDM400p
If you have not install the zaptel on your asterisk you have to do it now. The PSTN calls on asterisk are passing through Zap channel. For zaptel you need to install the zlib1g-dev module.
Now in order to compile it
And then recompile the Asterisk
In zaptel.conf it is enough to set the type of signalling for FXO and FXS. As we mentioned above FXO uses fxs signalling and FXS uses fxo signalling. For FXO devices you can use one of the following signalling methods.
fxsgs : Channel(s) are signalled using FXS Groundstart protocol
fxsks : Channel(s) are signalled using FXS Koolstart protocol
And for FXS one of the types standing below
fxogs : Channel(s) are signalled using FXO Groundstart protocol
fxoks : Channel(s) are signalled using FXO Koolstart protocol
Here is my simple configuration
Note that fxoks=1 means that the FXO Koolstart protocol signalling used for the first device which has to be FXS. So have in mind the order of the devices on the TDM card when you register the signalling for each one.
With loadzone and defaultzone you can define the tone zone which to be loaded where the zone is a two-letter country code.
In zapata.conf some channel configurations are to be made. As I have just two devices, an FXS and an FXO, so I will have just two channels. Here is how I configured my zapata.conf.
As you see there some ‘global’ settings above – they take effect for each channel defined.
Usecalledid is for using or not called id (may be omitted)
Hidecalledid is whether or not to hide the caller id (may be omitted)
Immediate specifies whether a channel should be answered immediately or not
Signaling is the signalling defined in /etc/zaptel.conf. Just add an underscore before the protocol type (signaling = fxo_ks)
Echocancelation is used for enabling echo cancellation. The valid values are: ‘yes’, ‘no’ or a power of two from 32 to 256.
Group is used for device logically the outgoing calls. Groups can be defined from 0 to 63 as well as multiple groups can be specified.
Channel is channel number for each channel.
I also have a user registered in iax.conf, but you can also place calls without any user registered from CLI (see the dial command).
Here when you enter the standard extension an operator picks up, the variables concerning the caller is displayed in the CLI – the name of the caller, the number of the caller and the id of the caller, then some welcome message is played. After this you can leave a mail on the voicemail and then the operator hangs you up. You can register a voicemail in /etc/asterisk/voicemail.conf by writing the example below. Here you can learn more about voicemail.
1111 => 123,gogh,gogh@some_domain.com
When you dial some extension like 0ZXXXXX (where ‘Z’ is number from 1-9 and ‘X’ is number from 0-9) you are send to a Macro which places a zero in front of the number and dials the new number. The reason to have additional zero in the beginning of the number is that all outgoing calls for my server must have a zero in front.
I have also created a conference room. By dialling 9090 you can enter in it. Conference room can be defined in /etc/asterisk/meetme.conf. Here is a simple example:
conf => 9090[,pin][,adminpin]
By dialling 1001 you call to the user we registered on asterisk PC.
Extensions 1111 and 2222 dial some mobile phones – in the first case through group 2 Dial(Zap/g2/…) and in the second through channel 2 Dial(Zap/2). In the example here channel 2 and group 2 are the same and they use the FXO channel, i.e. outgoing calls.
Extension 3333 dials channel one on Zap.
– Gateway termination to analogue telephones
– Add inexpensive analogue phones to existing PBX
– Wireless point-to-point applications between Asterisk servers
Services and features:
– ADSI phones
– PCI half-length slot
– RJ-11C connector
– Storage range: -20º to 65º C, 4º to 149º F
– Huminidity: 10-90% non-condensing