10
http://www.aste risk.org /application s/gateway Gateways connect legacy phone equipment (PBXs, ACDs, voicemail systems, etc.) to modern VoIP systems and services. Asterisk supports many different communications protocols from both the modern world of VoIP and from the legacy PSTN. This makes it a powerful tool for building gateways and protocol converters. Below is a recipe for building a VoIP-to-PSTN gateway using Asterisk, an analog or digital telephony interface card and a standard PC server. The steps are as follows: 1. Select your telephony interface hardware. 2. Select your computer hardware. 3. Install Asterisk 4. Configure your connections 5. Build your gateway dialplan »  Login or register to post comments Voip Gateway Submitted by cary113 on Fri, 03/12/2010 - 20:40. I love Voip phone service. I use it to run my fish finders company. This is really cool because my phone bills are virtually gone now. Thank s  Login or register to post comments hey Submitted by raj7749 on Thu, 03/04/2010 - 08:46.

Voip Asterisk Getway

Embed Size (px)

Citation preview

Page 1: Voip Asterisk Getway

8/8/2019 Voip Asterisk Getway

http://slidepdf.com/reader/full/voip-asterisk-getway 1/10

http://www.asterisk.org/applications/gateway

Gateways connect legacy phone equipment (PBXs, ACDs, voicemail systems, etc.) to modern

VoIP systems and services. Asterisk supports many different communications protocols fromboth the modern world of VoIP and from the legacy PSTN. This makes it a powerful tool forbuilding gateways and protocol converters.

Below is a recipe for building a VoIP-to-PSTN gateway using Asterisk, an analog or digitaltelephony interface card and a standard PC server. The steps are as follows:

1.  Select your telephony interface hardware.

2.  Select your computer hardware.

3.  Install Asterisk 

4. 

Configure your connections5.  Build your gateway dialplan

»

•  Login or register to post comments

Voip Gateway 

Submitted by cary113 on Fri, 03/12/2010 - 20:40.

I love Voip phone service. I use it to run my fish finders company. This is really cool becausemy phone bills are virtually gone now. Thank s

•  Login or register to post comments

hey 

Submitted by raj7749 on Thu, 03/04/2010 - 08:46.

Page 2: Voip Asterisk Getway

8/8/2019 Voip Asterisk Getway

http://slidepdf.com/reader/full/voip-asterisk-getway 2/10

is it fesible to install asterisk on fedora core 12 unite....

•  Login or register to post comments

we think the word ‘community’ 

Submitted by jinani7 on Thu, 03/04/2010 - 10:29.

we think the word ‘community’ better describes these cats. Calling them stray cats gives one the

impression that these cats don’t have a home and that they wander around -- but they do actuallyhave a home, which is the environment they live in! Some of these community cats have been

residents in the environment for much longer than some of the residents. pure term paper | 

accounting assignment | annotated bibliography | assignments | computer programming assignment 

•  Login or register to post comments

Step 1: Select Your Telephony

Hardware

Asterisk applications that connect with legacy telephony systems (PBXs

or the PSTN) require telephony interface hardware. Small system

generally use analog or ISDN BRI connections. Larger systems (morethan 12 lines) frequently use T1, E1 or J1 digital connections. If you're

new to telephony, check out the Asterisk telephony by clicking the "More"

link below.

 Note that not every Asterisk implementation requires telephony hardware. Systems that are

connected only by VoIP connections communicate using the host computer's Ethernet port.  

Connection Types

Analog connections are commonly used in small businesses and homes. Each analog connection

uses a single pair of copper wires. Asterisk connects with analog lines using an analog interface

card that converts the voice and signaling information into Asterisk's native digital format.

ISDN BRI connections are digital telephone lines that have replaced analog lines in some places.BRI is very popular in Germany and is also common in businesses in the UK. BRI connectionscan carry up to two conversations at the same time and support some advanced features not

available with analog connections. ISDN can use either a two-wire "U" interface or a four-wire

"S/T" interface.

T1, E1 and J1 are standards for high capacity telephony connections. T1 "trunks" or "spans" are

the standard in the United States. A T1 can carry as many as 24 simultaneous conversations. E1

Page 3: Voip Asterisk Getway

8/8/2019 Voip Asterisk Getway

http://slidepdf.com/reader/full/voip-asterisk-getway 3/10

is popular throughout much of the rest of the world. E1s are slightly higher bandwidth and can

carry up to 30 simultaneous calls. J1 trunks are essentially the Japanese version of the US T1standard.

There are several different services offered over T1, E1 and J1 connections. The most popular

service type is ISDN PRI. PRI circuits use what is known as "out-of-band" signaling -- that is,one of the 24 channels (T1) or two of the 32 channels (E1) is reserved for sending callmanagement messages.

T1/E1/J1 lines can also be used as data carriers for providing Internet or private data network services using the HDLC protocol.

For more information on both BRI and PRI forms of ISDN, check out the Wikipedia article.

Interface Hardware

Asterisk connects with analog and digital telephony connections through either a gateway cardthat is installed in the host computer (the computer running Asterisk) or through an external

gateway device. Internal gateway cards generally connect through the computer's internalexpansion bus. Cards are available in "PCI" and "PCI Express" (or PCIe) form factors. External

gateways connect with Asterisk over the local area network (LAN) or the PC's USB bus.

Internal gateway cards are the most common means of connecting Asterisk to the PSTN or to a

legacy telecom system. Cards typically fall into the same categories as telephony connections:

analog, ISDN-BRI, and T1/E1/J1 devices. (There are a few hybrid devices on the market thatsupport both analog and ISDN-BRI.)

Analog Cards

Analog cards are available in various capacities, ranging from a single port (which connects a

single analog telephone line and thus a single telephone call)

up to a maximum 24 ports.

Low density analog cards generally use the same kind of connector as most home and small business phone devices:the RJ-11 jack. Each jack on the back of the card takes a

single RJ-11 phone cable. The other end of the cable plugs

into a telco phone jack or an analog port on the legacy PBX.

Note in the image to the left that the card (an 8 port modelmade by Digium) the red blocks to the right-hand side of the

card. These are daughter modules (small circuit cards that

attach to the main card) that determine the function of each of 

the ports on the card. Analog ports can either connect to ananalog line from the telephone company using a port

Page 4: Voip Asterisk Getway

8/8/2019 Voip Asterisk Getway

http://slidepdf.com/reader/full/voip-asterisk-getway 4/10

connected to an "FXO" module, or can power and control an analog phone using an "FXS"

module.

Most analog card manufacturers build analog cards with interchangeable modules. By includingboth FXO and FXS modules, a card can offer both FXO (line) and FXS (phone) capabilities.

This makes it simple to build an Asterisk-based application that can both connect to the PSTNand control analog devices like fax machines, credit card terminals or TDDs.

High density analog cards often use an RJ-21 (or "amphenol")

connector and require an opposite gender RJ-21 connection from thetelco or PBX. Note the green modules on the card in the image to the left.

This 24 port card has been configured with three four-port FXS modules

(green) and three four-port FXO modules (red). This allows it to connect

12 analog devices and 12 analog phone lines.

FXS Ports In Analog Gateways 

VoIP gateways built to connect legacy equipment (PBXs, key systems) with VoIP services

generally use FXS ports. FXS ports provide dial tone and line voltage to a phone, exactly like thephone company's line does. This means that FXS ports can be connected to "line" or "trunk"

ports on the legacy system and can emulate telco analog lines.

FXO Ports In Analog Gateways 

Using FXO (line) ports to connect analog PBX ports with VoIP phones or remote VoIP servers is

another common Asterisk gateway application. In this scenario, analog station ports on the PBX

are connected to FXO ports on the Asterisk gateway card. When the PBX sends a call to the

cross-connected analog station port, Asterisk forwards it as a VoIP call to the designatedendpoint.

The limitation of this arrangement is the one-extension/one-port nature of PBX analog stations.

The signaling capabilities of analog station ports are generally very limited. This means that the

port can only respond to calls to the single extension number with which it is associated. It

therefore cannot be used as a shared connection between the PBX and the Asterisk (andwhatever connects with the Asterisk).

Digital Cards

Digital cards allow Asterisk to connect with T1, E1 and J1 digital lines(sometimes called "trunks"). Digital cards include one or more ports,each of which connects to an individual digital circuit. Trunks are often

referred to as "spans", thus a single port card is a "single span" device,

while a four port card is a "quad span" device. Most digital cards connectusing RJ-45 jacks (the same kind of jack as is commonly used for

Ethernet connections). Connections between the card and a telephone

company T1 line are connected using a "straight-through" cable (exactly like the cables that

Page 5: Voip Asterisk Getway

8/8/2019 Voip Asterisk Getway

http://slidepdf.com/reader/full/voip-asterisk-getway 5/10

connect Ethernet ports). Connections between the card and a local PBX or other "CPE" device

require a "cross-over" cable or a straight-through cable with a cross-over adapter.

Digital spans can be configured to carry telephone calls in several formats. (Note that the RJ-45format is the current standard in North America but that physical form factors vary depending on

region and telephone service provider.)When selecting your PSTN interface device, be sure to find a model that supports hardware

echo cancellation. Phone lines and even short-distance tie line connections to legacy gear

frequently suffer from line and network echo. Hardware echo cancellation eliminates echo andprovides a significantly better caller experience.

[Hide]

Step 2: Select Your Computer Hardware

Asterisk can run on virtually any modern computer, but

when building a production telephony application server

you should follow a few basic best-practice guidelines.Click the "More" link below to learn the basic

requirements for a solid Asterisk server.

Telephony systems are generally mission-critical

components and therefore need to be as reliable as possible. So while you can build an Asterisk 

server using a Start with a reasonably powerful and reliable server-class system as your platform.While not required, it's generally a good idea to use a system with redundancy features including

mirrored hard disk drives (RAID 1, 5 or 10) and dual power supplies.

Cooling is also an important issue. PSTN interface cards can add to the overall heat load of the

server. Failure to provide proper ventillation can cause stability issues and can lead to premature

failure of critical components.

CPU and memory requirements vary depending on the application. Small systems can be built on

embedded processors using only a few megabytes of memory. Large scale system that processthousands of simultaneous calls require significantly more horsepower and memory. The safest

bet is to go with the most powerful CPU and the most memory that fits within your budget.

If your application calls for TDM hardware, be sure that your server includes the correct type of card slot. Cards are available in PCI and PCI Express form factors and at a variety of voltages.

See the "Select Your Telephony Hardware" section for more information on the variousinterconnect formats.

[Hide]

Page 6: Voip Asterisk Getway

8/8/2019 Voip Asterisk Getway

http://slidepdf.com/reader/full/voip-asterisk-getway 6/10

Step 3: Install Linux & Asterisk

Once you have your Asterisk hardware the next step is software. You will either need to installLinux or use a ready-to-run distribution to install Linux, Asterisk and various related software

packages. Since these application tutorials are intended to help you create custom telephonyapplications we will start with a generic installation of CentOS 5.3 and then install Asterisk fromthe Yum repository. This make it relatively easy to keep Asterisk up to date and avoids the

complexities of hand compiling the Asterisk source code.

Download CentOS Linux 5.3

The first step is to download a copy of the CentOS 5.3 installation image. There are two

supported system architectures available, a 32-bit version of Linux and can run on either 32-bitor 64-bit systems, and a 64-bit version that runs only on x86_64 hardware. If in doubt, download

the 32-bit version. Most CentOS mirrors offer the distribution as either 5 CD images or a single

DVD image. Either method works for the purposes of this tutorial. Use the CentOS 5 mirrors list to select a mirror. Most mirrors host the CD images and a BitTorrent seed file for downloading

the DVD image. To download the DVD image use a BitTorrent client.

Download or copy the .iso image to a computer with a CD or DVD burner (writer). Keep in mind

that the images are roughly 700 MB each and the DVD image is over 3 GB.

Burn The CentOS .iso To CDs or DVD

Use your CD or DVD burner software to burn the ISO image to an actual CD. Note that if you

are installing on virtual machine you can generally use the ISO image without burning it tophysical media.

Install CentOS

To install CentOS Linux, insert the newly burned CD in the CD or DVD drive of the target

computer and boot. Be sure that your system is set to boot from the CD or DVD drive. (You caneither adjust the boot order in the system BIOS or use a one-time boot menu if your system

supports it.)

Full details of the CentOS installation are beyond the scope of this tutorial. Several excellent

quick-start tutorials can be found at Howto Forge, including this one. For more detailedinstallation instructions you can also refer to the CentOS Installation Guide . In general it is safeto select the default options throughout the installation process. Be sure to select a secure root

password when prompted. IP Telephony systems are a frequent target for hackers and

maintaining system security is extremely important.

Note that the installation of graphical environments (Gnome, KDE, etc.) is perfectly acceptable

on systems used for development or unit testing. When building production servers or systems

Page 7: Voip Asterisk Getway

8/8/2019 Voip Asterisk Getway

http://slidepdf.com/reader/full/voip-asterisk-getway 7/10

designed for load testing it is recommended that the graphical interfaces and subsystems (frame

buffers) be omitted.

Add Asterisk Yum Repositories

After the install is complete and your new CentOS Linux system is up and running, log in as theroot user with the password you set during the installation. (Note that you generally want to

avoid logging in as root. Create a non-privileged user account for day to day operations.)

Now, use the text editor of your choice to create a new file named "centos-asterisk.repo" in the

"/etc/yum.repos.d" folder. Add the following text to the file:

[asterisk-tested]

name=CentOS-$releasever - Asterisk - Tested

baseurl=http://packages.asterisk.org/centos/$releasever/tested/$basearch/

enabled=0

gpgcheck=0

#gpgkey=http://packages.asterisk.org/RPM-GPG-KEY-Digium

[asterisk-current]

name=CentOS-$releasever - Asterisk - Current

baseurl=http://packages.asterisk.org/centos/$releasever/current/$basearch/

enabled=1

gpgcheck=0

#gpgkey=http://packages.asterisk.org/RPM-GPG-KEY-Digium

Save the new file and create another named "centos-digium.repo" and insert the following text:

[digium-tested]

name=CentOS-$releasever - Digium - Tested

baseurl=http://packages.digium.com/centos/$releasever/tested/$basearch/

enabled=0

gpgcheck=0

#gpgkey=http://packages.digium.com/RPM-GPG-KEY-Digium

[digium-current]

name=CentOS-$releasever - Digium - Current

baseurl=http://packages.digium.com/centos/$releasever/current/$basearch/

enabled=1

gpgcheck=0

#gpgkey=http://packages.digium.com/RPM-GPG-KEY-Digium

Now you should be ready to install Asterisk. To start the installation, open a terminal windowand type the following:

[root@localhost~]# yum install asterisk16 asterisk16-configs asterisk16-

voicemail dahdi-linux dahdi-tools libpri

The system will connect with the Asterisk and Digium yum servers, download the necessarypackages for Asterisk 1.6 and install them. For a detailed view of sample output from the install

see the Yum installation page.

Page 8: Voip Asterisk Getway

8/8/2019 Voip Asterisk Getway

http://slidepdf.com/reader/full/voip-asterisk-getway 8/10

When the installation is complete, reboot your system to activate Asterisk and DAHDi. By

default DAHDi will start automatically. To enable auto-start of Asterisk, run the followingcommand:

[root@localhost~]# chkconfig asterisk on

To manually start Asterisk you can use the following:

[root@localhost~]# service asterisk start

To stop Asterisk, execute:

[root@localhost~]# service asterisk stop

Test Your Asterisk Installation

Once the Asterisk service is started you should be able to access the Asterisk command lineinterface from the Linux command line as follows:

[root@localhost~]# asterisk -r

The system should respond with something similar to:

Asterisk 1.6.0.15, Copyright (C) 1999 - 2009 Digium, Inc. and others.

Created by Mark Spencer

Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for

details.

This is free software, with components licensed under the GNU General Public

License version 2 and other licenses; you are welcome to redistribute it

under

certain conditions. Type 'core show license' for details.

=========================================================================

Connected to Asterisk 1.6.0.15 currently running on localhost (pid = 3052)

Verbosity is at least 3

localhost*CLI>

Congratulations, you now have Asterisk installed and running. To exit from the Asterisk CLI,

simply type 'exit'.

[Hide]

Step 4: Configure Connections

Now that Asterisk is installed and running you need to edit the system configuration files to

implement connections to VoIP and PSTN services. Since this step is common to all applications(Asterisk doesn't do much good if it is not connected to anything) it contains information on

creating both service connections (connections to VoIP or PSTN services) and endpoint

Page 9: Voip Asterisk Getway

8/8/2019 Voip Asterisk Getway

http://slidepdf.com/reader/full/voip-asterisk-getway 9/10

connections (connections to phones or terminal adapters). Some applications require both service

and endpoint connections (PBX, ACD) while others may require only service connections.

DAHDi Connections

DAHDi is the "Digium Asterisk Hardware Device Interface" project and is the standard meansfor connecting Asterisk with PSTN interface cards. If your application doesn't require PSTN

connections (i.e. your solution is VoIP-only) you can skip to the VoIP Connections section.

To configure your DAHDi interfaces, be sure that your cards are installed and properly

connected to the computer. If you are using analog cards with FXS (station) ports, remember toconnect one of the power connectors from the PC's power supply with the molex coupler on the

edge of the card. FXS draws more power than the PCI and PCI Express buses can provide, so the

connection is mandatory. Analog with FXO (line) interfaces only don't need the powerconnection.

To configure the cards you need to edit two files. This can be done using any standard text editor(emacs, vi, vim, gedit, kedit, etc.). Note that you will need to be logged in as the root user to edit

these files (or use the sudo command if your Linux distribution uses sudo instead of direct root

access). The first file is the /etc/dahdi/system.conf file. This file configures the parameters for thelow-level card drivers. There are only a few options that need to be set in this file. Below are

configurations for both a system with one digital card (in T1 mode):

# Autogenerated by /usr/sbin/dahdi_genconf on Wed Sep 23 08:25:39 2009

# If you edit this file and execute /usr/sbin/dahdi_genconf again,

# your manual changes will be LOST.

# Dahdi Configuration File

#

# This file is parsed by the Dahdi Configurator, dahdi_cfg#

# Span 1: TE2/0/1 "T2XXP (PCI) Card 0 Span 1" (MASTER)

span=1,1,0,esf,b8zs

# termtype: te

bchan=1-23

dchan=24

echocanceller=mg2,1-23

# Span 2: TE2/0/2 "T2XXP (PCI) Card 0 Span 2"

span=2,2,0,esf,b8zs

# termtype: te

bchan=25-47

dchan=48

echocanceller=mg2,25-47

# Global data

loadzone = us

defaultzone = us

VoIP Connections

Page 10: Voip Asterisk Getway

8/8/2019 Voip Asterisk Getway

http://slidepdf.com/reader/full/voip-asterisk-getway 10/10

Over the next few days we will be filling in the remainder of these tutorials. Sorry for any

inconvenience. Please check back soon.

Hide

Step 5: Build Your Gateway Dialplan

More info here...