2. 1
Table of Contents
I. Executive Summary .......................................................................................................... 2
II. Project Planning ................................................................................................................ 3
Network Diagram
Technical Planning
Server Specifications
Linux Client Specifications
Windows Client Specifications
III. Implementation ................................................................................................................. 5
Installation of Asterisk
Installation of Centos
Installation of Windows 7
Asterisk Web Interface
IV. VOIP Plan Test.................................................................................................................13
V. Conclusion .........................................................................................................................16
VI. Appendix ............................................................................................................................17
3. Executive Summary
Makingcalls is oftentimes very expensive for companies. Many companies are switchingto VOIPsystems
that oftentimes cost less money or nothingat all. VOIP offers more thansimple calling, but all sorts of
modules like messaging, Google Voice plugins, voicemail, andmuch more. Implementingsystems, such
as Asterisk is a completely free andeasyto configure solution that will reduce costs for any business. It
also adds a simple anduser-friendly way to make calls between clients bothinternally on your network
and externally on other networks, which helps in cuttingdownon trainingtime. WithAsterisk, you do not
need to worry about which operatingsystem your clients use,as longas you can downloada softphone
to the client andconnect to the AsteriskServer.
4. LINUX TELEPHONY - MARCH 2015
3
Project Planning
For this project, a basic understanding of VOIP (Voice Over IP) is required. Also note that a basic understanding of network
layouts is necessary. Some common terms mentioned are:
Trunk – Pre-defined extension
Extension – (For purposes of this project) The number used to reach a certain client
SIP – Session Initiation Protocol
Softphone – A software program for making telephone calls over the Internet
This project is manageable on both a large-scale network, a small-scale network, or for testing purposes on a virtual machine
without any notable issues.
Network Diagram
Figure 1 Network Diagram
5. LINUX TELEPHONY - MARCH 2015
4
Technical Planning
The followingspecificationswere used as part of the technical planning of the project entities. These include servers and
client workstations. For this project, make 2 Asterisk servers, 2 Linux (Centos) clients, and 2 Windows(7) clients.
Server Specifications
Operating System AsteriskNow 1.8
Memory 1 GB
Hard Disk 8 GB
Network Cards 2 NICs (Internal & External)
Figure 2 ServerSpecifications
Linux Client Specifications
Operating System Centos 5.6
Memory 1 GB
Hard Disk 20 GB
Network Cards 1 NIC
Figure 3 Linux Client Specifications
Windows Client Specifications
Operating System Windows 7
Memory 2 GB
Hard Disk 20 GB
Network Cards 1 NIC
Figure 4 Windows Client Specifications
6. LINUX TELEPHONY - MARCH 2015
5
Implementation
Implementation (for the purpose of this project) wasdone on VMware Workstation 10.0.1. Dependingon the size of the
network, the time that implementation will take will vary.
Installation of Asterisk
When installingAsterisk, be sure to have 2 NICs already in the machine.
There will be a prompt for which version of Asterisk the user wantsto install. It is important to select FreePBX 5.211.65
with Asterisk 1.8 Full Install.
Figure 5 Choosing Which Asterisk To Install
When prompted which Network Card you want to set up, select the second one and configure it with your internal network
specifications.
7. LINUX TELEPHONY - MARCH 2015
6
Figure 6 Setting IP's
Once fully installed, open /etc/sysconfig/network-scripts/ifcfg-eth0 in either vi or nano. Make sure that the MAC address is
the same as the MAC address on your first NIC. Configure the IP Address, Network Mask, and Gateway to be public. Next,
make sure you can ping 8.8.8.8. If you cannot, make sure to go back and check your configurations. Once you can ping
8.8.8.8, reboot your machine. When the Asterisk server starts again, it will install an update for all of itsmodules.
Installation of Centos
Install Centos like normal. Set a user and root password. Make sure to write them down so you will not forget them. On
Centos, for this project, Ekiga is the softphone of choice. Any softphone with SIP capabilitiesshould work fine though.
Ekiga comes pre-installed on Centos.
Installation of Windows 7
Install Windows7 like normal. Set a user and password. Make sure to write themdown so you will not forget it. On
Windows7, for this project, X-Lite is the softphone of choice. Any softphone with SIP capabilitiesshould work fine though.
X-Lite is not pre-installed on Windows7, so you will have to download it (for free) from their website.
Asterisk Web Interface
First, make sure your workstation is set to connect to the second NIC on your Asterisk machine. Once
done, open the browser on any machine on the internal network, andtype intheIP Address ofAsterisk
machine. This will bringyou to the AsteriskWeb Interface.
8. LINUX TELEPHONY - MARCH 2015
7
Figure 7 Asterisk Web GUI
Click on FreePBX Administration. You will be promptedto make an account. Once the account is made
and you are signedin, you will be brought to a web interface that give a quicklook (with customizable
modules) at your Asterisk machine.
Figure 8 System Status
First, you will need to add a user. At the topofthe page, clickAdmin. Under that, click“User
Management”. Once opened, you will want to add a user. Create the Login Name andPassword. Leave
everythingelse blank. Make sure “none” is selectedfor LinkedExtensions.
9. LINUX TELEPHONY - MARCH 2015
8
Figure 9 User Settings
Next, click Connectivity at the topofthe page. Then clickon one ofthe sub-categories called “Trunk”.
Once opened, you will want to add a SIP Trunk. Give the Trunka name andleave all the other options
under General Settings blank.
Figure 10 Editing SIP Trunk
Go down to OutgoingSettings. Copy the information inFigure 7 for your first Asterisk Machine. (Be sure to
change the host, username, andfromuser configuration accordingly when configuringyour second
Asteriskmachine.)
10. LINUX TELEPHONY - MARCH 2015
9
Figure 11 Outgoing Settings
For IncomingSettings, copy the configurationshownin Figure 8. (Be sure to change theUser Context
accordingly to which machine your are doingthe configurations on.)
As for the registeredstring, be sure to copy the configurationshownin Figure 8. (Be sure to change the
User Context accordingly towhichmachine your are doingtheconfigurations on.)
Figure 12 Incoming Settings
Next, under Connectivity at the topofthe page, click on “OutboundRoutes”. You will want to add a
route. For the Route Name, be sure toset a name accordingly to the Trunkyou made inthe previous
step.
11. LINUX TELEPHONY - MARCH 2015
10
Figure 13 Router Settings
Scroll down to set the extensionroute. Inthis project, we are limitingit to a 3 number pattern witha single
digit for a prefix. Follow the example in Figure 10. Lastly, be sure to set the TrunkSequence for Matched
Routes to the trunkyou previouslymade.
Figure 14 Setting DialPatterns
For the last part intheAsteriskWeb Interface, under Applications at the top ofthe page, click
“Extensions”. We want to create 2 extension (one for each workstation). Create the Display Name and
SIP Alias (as shown inFigure 11). Set a secret (password) so you can login to the account witha
softphone.
Figure 15 Setting Display Alias
12. LINUX TELEPHONY - MARCH 2015
11
Once all the configurations have been doneon the AsteriskWeb Interface (by clickingthe apply
configurationbutton at the topofthe page), restart the Asterisk server to make sure all the configurations
have been applied.
Softphone Setup (Ekiga)
Once the applicationis opened, go to Account Settings. Addthe account for one ofthe extensions
createdpreviously. Be sure to set the Registrar to the internal IP oft he AsteriskServer. Oncethese settings
are filled out, click the checkbox, and make sure the account is registeredwith the AsteriskServer.
Figure 16 Softphone Setup(Ekiga)
Softphone Setup (X-Lite)
Once the applicationis opened, go to Account Settings. Fill out the settings withtheextensioncreated
previously on the Asterisk Web Interface. Set the Domain to the internal IP ofthe AsteriskServer. Make
sure the account is verified inorder to place calls.
14. LINUX TELEPHONY - MARCH 2015
13
VOIP Plan Test
To test all the configurations, simply open the configured softphone on each ofthe clients (both internally
and externally) and make a call. Ifat any point you want to see what is happening on your Asterisk
Server as these calls are beingmade, type the command“asterisk –rvv”
Making Internal Calls
To make an internal call, just input the extension ofthe user you want to call (as shownin Figure 18).
Figure 18 Calling with Ekiga
If everythingis correct, you shouldreceive an answer or decline prompt on the client that the call is
beingmade to.
Figure 19 Incoming Call
15. LINUX TELEPHONY - MARCH 2015
14
Making External Calls
To make a call to someone that is not on the same network, the only difference is addingthe prefix
number thatyou created when dialing.
Figure 20 Outgoing Call
If everythingis correct, you shouldreceive an answer or decline prompt on the client that the call is
beingmade to. You shouldalso be able to see that you are makingan external call when you go onto
the AsteriskWeb Interface (as shownin figure 20).
16. LINUX TELEPHONY - MARCH 2015
15
Figure 21 System Status WhileCalling
17. LINUX TELEPHONY - MARCH 2015
16
Conclusion
To conclude, watch out for misspellingwhile changingconfigurations. Also, watchout for which
configurationyou do on each device, anddo not confusethem. Ifall goes correct, you will be able to
place calls free both internally on any network, andexternally to any other network.
References
Wilson, C. (2014, August). Assistance
Cann, J. (2014, August). Assistance
http://asterisknowtutorial.blogspot.com/
http://www.callcentric.com/support/device/freepbx
http://tyler.anairo.com/?id=3.1.0
http://www.voipvoip.com/asterisk/
http://siptrunkservice.com/pbx-configs/easy-sip-trunk-configuration-for-asterisk/
http://siptrunkservice.com/pbx-configs/how-to-configure-your-sip-trunk-in-asterisk/