Asterisk hardware home analog

Asterisk Home Hardware - Analog.


The existing phone service in many homes is analog Plain Old Telephone Service POTS for incoming lines from the phone company, also known as the Public Switched Telephone Network connected to regular analog phones. (Note: In the US ISDN, digital phone lines, never really took off the way in did in some parts of europe and Asia.) This page covers analog phones and phone lines only, in particularly the low end devices that are most appropriate for home use.

Asterisk can be used in all digital configurations using Voice over IP VoIP connections to software phones running on PC and to phone service providers that you can connect to over the internet. There are a lot of tutorials explaining how to do that. Those can be quite helpful for learning and getting started. However, once you want to start using Asterisk "for real", you'll probably want to integrate asterisk with your existing home phones and phone lines. I found a lot of the information was scattered in different places, so this page is an attempt to help people get started and help make an informed decision on what hardware to get.

While there is an ever growing set of choices for digitial VoIP phones, there is a much larger selection of plain analog phones available practically everywhere at very low price points. In terms of the economies of scale, look at how much smaller the choices are for 2 line phones. The handful of phones that are available with more than 2 lines that I've seen can cost about as much as your whole Asterisk installation. The majority of the available VoIP/SIP phones are hardwired. I believe the most desirable phones for home are cordless. Things are improving however, two of the largest consumer cordless phone producers, Uniden and VTech have announced cordless VoIP phones. Hybrid mobile phones that can do VoIP over WiFi when it's available and fall back to a cellular network (GSM, CDMA) look very promising, but it's still pretty early. I believe most high tech households that would be considering installing Asterisk probably already have a reasonable investment in the better cordless phones. If your home needs a lot of phones, implementing Asterisk could allow you to save quite a bit of money allowing you to buy fairly simple low end phones.

If you are reading this, you probably already know this but there are many reasons for introducing the Asterisk PBX into your existing home phone setup such as:

  • Sophisticated Voice Mail system to replace that aging answering machine. This can provide a mail box per person, that can be deliver notification by e-mail. Web based access to your voice mail is also available.
  • Interactive Voice Response IVR systems - You can present callers with a menu, which can be particularly useful if you have more people in the house than you have incoming phone lines. "Press 1 for Him, Press 2 for Her, Press 3 for Kid No. 1, Press 4 for Kid No. 2"...
  • Control over which phones ring at what times.
  • Intercom (Place in house calls)
  • Routing incoming calls by Caller ID.
  • Need more than 2 incoming lines (Phones that handle more than two lines are much more expensive than 1 or 2 line phones, and there isn't very much selection available.)
  • Call Detail Reports (for attempting to gain some control over costs, and/or teenagers)

Some terminology you need to know

Phones are connected to FXS ports. "Telephone-speak" often refers phones as "Stations". So if you can remember to think of a phone as a "station" you'll be able to remember that phones plug into FXS ports. An FXS port provides power to the phone.

The plain old analog phone Lines coming into your house are known as POTS lines. These come from the phone company which is called the Central Office or CO in telephone-speak. The telephone company provides power, ring signal, over the phone line to run your phones. In order to connect a phone line to your Asterisk system you need an FXO port. The trick to remember this is the O in FXO stands for Office, so think "phone company office".

You never want to plug a phone line into an FXS port, because both are supplying power. If you do so you will probably damage your FXS device and possibly cause problems with your phone company as well.

Analog Telephone Adapters ATAs are a gateway between your digital network and your plain old analog phones or phone lines. The most common ATAs have 1 or more FXS ports for you to connect phones to. Many VoIP service providers send you an ATA so you can connect it to your network, plug in a regular phone, pick it up and get dial tone. ATAs can support different types of VoIP Protocols although SIP has become the most common. ATAs with FXO ports are a bit more rare but are starting to appear.

Options for connecting existing analog phones to Asterisk (FXS ports)

  • PCI cards for your PC, such as TDM400 or R8FXX with 1 or more FXS ports
  • Analog Telephone Adaptors ATA, such as the Sipura 2000, Cisco ATA-186, ...
  • USB Channel Bank such as Astribank

Connecting phone lines to Asterisk (FXO Ports)

  • PCI cards for your PC, such as the TDM400 with 1 or more FXO ports, or X100P, or R8FXX
  • Analog Telephone Adapaters ATA, such as the Sipura 3000.
  • USB Channel Banks such as Astribank

Example Configurations - 2 incoming lines, 2 phone extensions.

Option 1 - Self contained PC setup

  • x86 PC running Linux, Minimum config: Pentium III 500 mhz., 128MB, IDE disk 20gb,
  • at least one available PCI slot (3.3V or 5V)
  • An available drive power connector (may need a Y splitter cable)
  • Digium TDM-400P with:
  • 2 x FXO daughter cards
  • 2 x FXS daughter cards
  • Cost excl. PC: $321 - Digium TDM22P bundle (2 FXO + 2 FXS ports)

Option 2 - using ATAs that provide both FXO and FXS ports

  • Any computer that Asterisk runs on which includes most unix/linux boxes, Windows PC, A Mac running OS X, or even small form factor dedicated boxes like a Soekris 4801.
  • One or more ATAs that provide 2 x FXS and 2 x FXO ports. Eg: 2 Sipura 3000's.
  • Ethernet network to connect computer + ATAs.
  • Cost excl. Computer: ~$200 - 2 x Sipura 3000s

Option 3 - Hybrid X100P's + ATA

  • x86 PC running Linux, Minimum config: Pentium III 500 mhz., 128MB, IDE disk 20gb,
  • at least two available 5 volt PCI slot
  • at least two available interrupts
  • 2 x X100P Cards
  • Ethernet network to connect PC and ATAs.
  • Cost excl. PC: ~$90 - $140, 1 x Sipura 2000 (2 port FXS) ~ $70-100 + 2 x X100P cards $10-20

Example Configurations - High Density Systems

Option I - Using Astribank

  • x86 PC, Pentium IV 2.8 GHz, 512 MB. Running Linux and Asterisk
  • At least two available USB 2.0 ports
  • 13 x Astribank-32 analog units (416 channels)
  • 4 x USB 2.0 hubs
  • System provides 416 voice channels (FXS and FXO)
  • Cost excl. PC: ~$150-200, Astribank-32 ~$1700-2300 (per unit), USB 2.0 hub ~$10 (per unit)

Hardware Features.

Sipura 3000 - ATA with 1 FXS & 1 FXO port.

  • FXO and FXS can each be a separate SIP end point to connect to Asterisk.
  • Good Price point: Approx $100 (or $50 / port)
  • During power outages a built-in relay bridges the FXO and FXS port, so some phone service will still be available.
  • Asterisk FXS port config is reasonably straightforward (similar to most SIP phones)
  • FXO port configuration is not straightforward, doesn't behave like one would expect, Some work arounds available.
  • Can be used to extend asterisk system in remote locations (Have to be careful about SIP through NAT firewalls)
  • Can also be used in non-Asterisk configurations (such as direct with a VoIP provider)
  • FXS port can dial 911 directly over attached FXO line even if Asterisk is down.
  • TBD: If Asterisk sets up a call between the FXO & FXS port on that box does voice traffic go through Asterisk on does it stay on the box?
  • Does not handle incoming analog FAX reception the way the X100P/TDM cards can.
  • FAQ: Most ATA's have their own built in dial plan. The ATA will try to parse what you dial *before* it gets to Asterisk, and attempt to determine when it thinks you are done dialing. The SIPURA's have default dialing time out of 10 seconds, which means it will wait 10 seconds if you haven't dialed enough digits before connecting your call to Asterisk.
  • FAQ: The sipuras are configured by default to handle *NN dial patterns themselves for access to certain features. This can cause confusion if you are expecting Asterisk to handle this pattern. The freePBX and Asterisk@Home!Asterisk at Home set up a number of functions that way. You need to either configure the ATA to pass through or disable those features. Alternatively you can change what patterns Asterisk uses for those features.

They are quite capable little boxes.

Digium TDM400P

  • Four port card that can any combination of FXS and FXO ports.
  • Pricing: 1 FXS + 1 FXO Approx $200 ($100/port) 2 FXS + 2 FXO ~ $320 ($80/port)
  • Comes with some Digium Support.
  • Calls between ports can be TDM switched providing higher quality calls with reduced latency and placing less demand on the host PC/Network.
  • Can receive incoming faxes and convert to tif/pdf/e-mail attachment. (see span-dsp)
  • some hardware problems with earlier versions of this board, Current is Rev. H.
  • If PC/Asterisk fails due to power outage, crash, etc. phone service will be out, unless you have a phone connected to the phone line. (Carefully consider the needs for dialing 911 in emergencies)
  • Works in either 3.3 or 5 volt PC slots.
  • Requires additional power from a drive connector. May need to get a Y power cable if all of your drive power cables are used.
  • For best results make sure the card has it's own interrupt (IRQ) available, that isn't shared with other devices.
  • Drivers are only available for Linux on x86.
  • Multiple TDM400Ps can be installed in a single PC giving very reasonable 1 - 16 port configuration.
  • Buying Digium cards helps fund the people who have provided Asterisk as free open source software.

X100P cards (including clones of the original Digium Wildcard)

  • Single port FXO card based on an Intel V.92 537 or MD3200 soft modem chipset.
  • Cheap: Clone cards can be had for as little as $10-25.
  • Only works in 5 volt PCI slots.
  • Places a very high interrupt load on PC. The PC should be dedicated to Asterisk. Each card should have it's own IRQ. Remember this is a "soft" modem so the host PC is doing all of the work!'
  • Can be very low quality especially if the interrupts aren't handled properly. Also quality of the clones seems to vary widely, no way of telling which are which so far.
  • Digium has discontinued the original Wildcard X100P in favor of the TDM400P which has a number of advantages.
  • Results with these cards vary widely but people are successfully using them. People have been known to start experimenting with these cards and upgrade to the TDM400P when the get more serious.
  • Drivers are only available for Linux on x86.
  • Like most modems has two RJ-11 jacks, one is for the phone line, the other is for a phone pass-through like a modem. Do not confuse this with an FXS port. The phone port is cut off while the software has control of the X100P. However if power fails, the phone port will be connected to the phone line which can be useful for a power failure configuration.
  • Can receive incoming faxes and convert to tif/pdf/e-mail attachment. (see span-dsp)

Rhino R8FXX

  • 8 analog channels modular PCI plug-in card, supporting both FXS and FXO on the same board
  • On-board Texas Instruments and Adaptive Digital Technologies Echo Cancellation technology
  • No PCI bus bit banging
  • Field software upgradable
  • Loop and Kewl signaling protocols
  • Distinctive ring in Loop start mode
  • Caller ID enabled in Loop start mode
  • On-chip uLaw or aLaw CODEC
  • 500msec end-of-call battery interruption, programmable to 3 seconds
  • Size: 10.16 cm tall, 15.87 cm wide(4.00” tall, 6.25” wide)
  • Form Factor: Single PCI slot
  • Shipping Weight: 0.45 kolograms (1pound)with all included components maximum

Xorcom Astribank


Using PCI cards.

The descriptions of the hardware above shows the requirements and therefore the restrictions. Drivers are generally only available for Linux on x86 style hardware. Trying to maintain good quality connections practically means dedicating some PC to Asterisk. This doesn't have to be a big or expensive PC. One popular choice is to get used Dell Optiplex PCs from ebay or other resellers. These were used as corporate desktops and generally have already served 2-3 years but are now too underpowered for windows. They can be had for under $50. One very tempting configuration is using the Soekris 4801 "appliance" sized pc with a single TDM400P. Unfortunately the TDM400P doesn't fit in the standard Soekris case. Some people have used alternative cases or done some modifications to make this work.

If you are going to use PCI cards you need to be able to configure the interrupts properly, generally in the BIOS, to make sure the cards aren't sharing interrupt request lines IRQs with any other devices. Given that you are probably using a dedicated PC, you should disable in the BIOS any devices that you won't be using like the printer port, etc. to free up IRQs.

Even if you get the interrupt assignments done correctly there are several traps to watch out for. Do not attempt to run X windows on your Asterisk PC, the mouse especially generates a lot of interrupts that can delay processing of the telephony related interrupts. It's ok to run X when configuring the system, but once the machine is in service as your phone switch make sure X is shutdown, so you have only plain text on the console screen. Many Linux distributions set things up so that X windows starts at boot time in order to give you a graphical login screen and to reduce log in time. Make sure you disable this. Heavy amounts of disk I/O can also affect interrupt processing. Generally most system designs have it that disk I/O is the highest priority thing the system does. In your asterisk system, switching — moving the digital sound samples from one port/protocol to the other in both directions is the most important thing for your system to do at very constant intervals. Many RAID controllers grab the bus for long periods of time in order to get the fastest possible disk I/O. This is not what you want for asterisk. The best choice is the simple IDE controllers that are standard on most motherboards. With IDE you can tune how disk I/O is performed using hdparam.

How do you know if you've got a problem with interrupt processing? The symptom that you or your users will notice is that drop outs, pops, clicks, squeaks during conversations. If you search the archive of Asterisk users fixing your interrupt handling, not running X, is generally the answer to these problems.

Using ATA network attached devices only.

If you build an Asterisk system without the need for PCI cards, you have a much greater set of choices for what kind of computer to run Asterisk on. If things are configured correctly, the ATAs are handling all of the load for coding/decoding digitized streams of voice to/from analog. You have a better chance of being able to successfully share a computer for asterisk and some other tasks. There are some great choices in small form factor computers. It's even possible to run Asterisk on a Linksys WRT54GS, but that box is a bit too underpowered for a full featured Asterisk configuration. Linksys also sells ATAs with firmware from Sipura. Now it's been announced that Linksys is buying Sipura. I haven't seen any reports on hacking the versiou of the WRT54G with the embedded ATA yet, but I'm hoping we might see some pretty cool things soon.

work in progress, network requirements, configuration requirements, dial plans, pitfalls, what can/can't you do, how to avoid transcoding, it is possible to have asterisk setup sip connections with the RTP (acctual streaming voice channel) going directly between the SIP end points?

What type of PC should I use for Asterisk?

coming later, should really be a page of it's own

Can I use my existing voice modem for Asterisk?

It depends, however the answer in general is no. The X100P card is actually a V.92 softmodem based upon the Intel 537 or MD3200 chipset. There are two important distinctions: 1) This card/chipset is full-duplex which is required for VoIP applications. 2) There are specific drivers zaptel for this card. It is possible to use a card that has this chipset that wasn't specifically meant for asterisk, however to get the Zaptel driver to recognize it you either need to make a slight modification to the card or the driver. See Note: There are problems with intel 537EP & FA82537EP chipsets, but the 537PU & 537PG should work.

Dialing 911 for emergencies.

When designing any sort of phone system, please carefully consider how you would dial 911 in the case of an emergency. If the power is out do you have a way of calling 911? What if Asterisk should fail or be misconfigured? Think about what the potential consequences could be if you couldn't call out in an emergency. If you are building a system for someone else and something bad happens because the system failed, you could be held personally liable!!

This page is sitll a work in progress. There are a number of more sections I hope to add. Please feel free to correct things, or add missing information.

See Also

Created by: rct, Last modification: Wed 16 of Nov, 2011 (20:34 UTC) by admin
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+