Parts of a FreePBX System

There are several components that make up a FreePBX system. The main ones are outlined here.

Server

This is the system that runs FreePBX, Asterisk, and the rest of your telephony stack. Although it is possible to run this as a virtual machine, it is not recommended for production systems. Typically this is a physical machine sitting on the same LAN as your phones.

Phones

Obviously without phones, a PBX is not going to be able to do a whole lot. There are a lot of possibilities here: there are IP phones, analog phones, softphones. With FreePBX, you can even route calls to external numbers (eg, a cell phone).

  1. IP Phones: IP phones are by far the best way to go when setting up a FreePBX-based system. They typically offer programmable buttons that make using various features easy (compared to dialing star codes, like *57). Most have multiple lines, which allow you to very easily manage more than one call to your extension. There are many manufacturers that make IP phones, and many many models that range in price from $80 up to $500. Within a single deployment, it's good to standardize on one line of products simply for end user ease-of-use, but of course you can mix and match all you like.
  2. Analog Phones: Analog phones are the regular phones that you can plug into your phone line at home and just use. There are many ways to connect these to a FreePBX system. There are several manufacturers (such as Digium, Pika, Rhino, and Sangoma) that make PCI cards that will interface with Asterisk. These provide "fxs ports" which you can plug an analog phone into. Asterisk talks directly to these devices at the hardware level.

    Another way is to connect analog phones is with an ATA (analog telephone adapter), which is a network device. They have an ethernet port, and one or more fxs ports. They talk SIP or IAX2 over ethernet back to your asterisk system, and as far as Asterisk is concerned, they appear just like any other IP phone. The benefit to these devices is you can locate them closer to the phone, and just use your ethernet network instead of running analog wiring to the phone.

  3. Softphones: This is software that you install on to your PC, that talks SIP or IAX2 back to Asterisk, and appears just like any other IP phone. You need a microphone and speakers of some sort (headset, usb device) to actually use it to place calls. There are many different softphones available for most platforms. They are useful for testing and connectivity while on the road (eg, on a laptop), but most people do not use them as a primary device because you're relying on a PC working, being turned on, user logged in, etc.
  4. Legacy adapters: There are products on the market that allow you to connect existing legacy PBX phones to an Asterisk system, typically using SIP over ethernet.

PSTN Interface

Like phones, there are many ways to interface to the PSTN (public switched telephone network - the rest of the world). On the phone company side of things, there are many ways to provide interfaces:

  1. POTS: Plain old telephone service. This is the type you have at home, it is an analog service and (in North America) is provided to you via an RJ11 jack. This supports one call (one channel) at a time, and is the most basic service. Generally each POTS line gets its own public phone number.
  2. PRI: Primary Rate Interface. This is a digital line that carries 23 64kbps voice (B) channels, and one 64kbps signaling (D) channel used for call setup, caller id, etc. You can have zero up to hundreds of incoming DIDs ("direct inward dial" - an old telephony term that refers to a public phone number) on a PRI. It is the best interface to use when dealing with several lines.
  3. ISDN BRI: Basic Rate Interface. This is a digital line carrying two 64kbps voice (B) channels and one 16kbps signaling (D) channel. It is not widely used with Asterisk systems (mostly due to the high price compared to POTS).
  4. T1: Similar to a PRI line, it has 24 64kbps channels (though sometimes 56kbps), and signaling is done individually on each channel. There are many different configurations for T1s, and generally they are much harder to set up than a PRI.

There are many ways to connect all these interfaces to Asterisk:

  1. PCI cards: There are several manufacturers (such as Digium, Pika, Rhino, and Sangoma) that make PCI cards that will interface with Asterisk. For analog lines, you need cards with fxo ports (note: most cards have the ability to have a mix of fxo and fxs ports). For digital lines, you can get cards with single ports, and cards with 4 ports (supporting a total of 4*23 = 92 channels, with PRI).
  2. IP Gateways: These are similar to the ATA's described above, but have one or more fxo ports. You can also get gateways with digital ports.

VoIP PSTN Interface

Using a Voice over IP provider is another way to get connected to the PSTN. Most businesses do NOT use VoIP as their primary connection because it's unreliable compared to direct PSTN connections. It's susceptible to other internet traffic hogging bandwidth, and there are more points of failure (your ISP, your provider, your provider's ISP, and everyone else in between).

The provider will have PRI/T1 lines, and some kind of hardware and/or software that provides it to you as SIP or IAX2 (some providers even use Asterisk for this). There are all sorts of business models around this, but typically:

  1. Flat-rate account: You pay a flat rate, and get some number of minutes that you are allowed to use. Usually with these accounts you get one DID (phone number) and can use one or two channels (simultaneous calls) at a time. Some of these providers lock you into using their hardware (they provide you a box that you can plug an analog phone into), so beware: you'll need some kind of fxo hardware to interface to this box (plus you lose quality by converting to analog in between, possibly introduce echo, etc). Having Asterisk talk SIP or IAX2 directly to the provider is always preferable.
  2. Per-minute account: This is also sometimes marketed as "wholesale" VoIP. You pay per-minute, for all calls (local and long-distance, incoming and outgoing), usually around $0.01-$0.03/minute, depending on volume. Most providers will give you around four channels, but usually more if you ask (sometimes for a fee). You can get this service for origination (outbound) only, or you can get one or more DIDs for termination (incoming) calls. Typically you pay $3-5/month per DID, and most providers can get DIDs from anywhere in your country (or elsewhere).