Voice over IP Objectives Circuit vs. Packet switching Digitizing your voice VoIP Protocols VoIP Equipment Cisco CallManager & Network Setup Asterisk@Home Pictures and demo of basic implementation Basic Telephone Operation Uses circuit switching With circuit switching, the connection is open for the entire phone call Inefficient – a lot of bandwidth is wasted using this method Resources are used even when there is silence on the line Basic Network Operation Packet Switched With packet switching, a connection is established only when there is data to send Efficient use of bandwidth – the line does not remain open for dead air Voice over IP Voice is digitized into packets as data These packets are then sent over the network/internet as data would be Packets are converted back into voice at the receiving end Generally, the User Datagram Protocol (UDP) is used when dealing with VoIP since it has less overhead than TCP enabling faster transfers for superior voice quality Digitizing Your Voice 1. Using Pulse Amplitude Modulation the analog sound waves are analyzed and sampled about 8,000 times per second 2. Relative measures of the wave strength are taken and assigned a number in the range of 0 – 255 3. A “graph” is created which plots each sample strength against the time it occurred 4. Using the assigned number each plot point is given an 8 bit binary code thus turning your voice into 1’s and 0’s (Pulse Code Modulation) 5. The process is reversed at the receiving end to convert the 1’s and 0’s back into audible voice Digitizing Your Voice (con’t) An analog wave is converted to digital using PAM and PCM Features of VoIP VoIP supports nearly all the features of a traditional phone system 911 Support Call ID Voicemail Music on hold Three way calling Protocols Media Gateway Control Protocol (MGCP) Protocol that allows the network to be seen as a single gateway point from outside the network The gateway device using this protocol provides the actual conversion between voice and data packets Protocols Session Initiation Protocol (SIP) Handles the interaction between VoIP clients and VoIP servers Specifies the systems to be used in the call Establishes transfers and terminates the phone calls VoIP Equipment There are many vendors of VoIP equipment and many software options available With Cisco being one of the largest companies in the industry the following sections will focus on implementing VoIP using Cisco software and equipment as well as the Asterisk@Home software from Digium Inc. The core concepts for the implementation of each of these systems and equipment are in essence the same VoIP End-User equipment Cisco IP Telephones (Cisco 7940, 7960, IP Softphone, Cisco 7920 Wireless Phone) Approximate Cost: $250 - $300 Cisco 7940 IP Telephone Cisco IP Softphone VoIP Network Devices Cisco VIC-2FXO-M2 (Approximately $200) – An expansion card that is installed into an existing router allowing it to accept analog lines connecting it to the PSTN and giving it VoIP capabilities Cisco VG 248 (Approximately $6000) – A gateway device for interfacing analog devices onto the network VoIP Network Devices Cisco VIC-2FXO-M2 Foreign Exchange Office (FXO) - Enables an analog connection (using RJ-11) to connect to the PSTN central office or other third party PBX system. This card DOES NOT provide a dial tone so don’t try plugging a phone into it. Two-port FXO voice/fax interface card Generally requires version 12.0 or higher of the cisco IOS running on your device. The two ports on it are RJ-11 ports to provide connectivity to the PSTN and telephony equipment. There are several types of expansion modules this one in particular works with Cisco 2600, 3600, and 3700 series routers. (So potentially we could add one of these to our Cisco routers in the lab at CCSU since we use 2600 series in our curriculum.) VoIP Network Devices Cisco VG 248 Allows up to 48 analog lines to be used as extensions within Cisco Callmanager. Useful when not everyone needs an IP phone, helps cut costs in switching to VoIP this way. Supports caller ID, call waiting, conference calling, speed dial, redial, and most other features you’d normally find on analog phones. Although this device only supports 48 analog lines, a Cisco CallManager cluster can support up to 30,000 users. VoIP Network Devices There are several models of switches that can be used on the internal network It is a good idea to purchase switches and end-user devices that support the Powerover-Ethernet Protocol to eliminate the need for power adapters on the end-user devices VoIP Network Devices IP Phones vs. Using Analog Telephone Adapters (ATA) ATA’s are generally cheaper than IP phones (approx $70-100) as opposed to $150 – 300+ for IP phones ATA’s limit your feature set to that of a regular telephone. IP phones are more easily integrated into the network since there is less compatibility worries IP phones provide features like phone books, ability to store user settings, and offer high mobility (users can log into some IP phones from various locations within a building or over a VPN) using an ATA this is not possible Home Users using services such as Vonage commonly use ATA’s or routers with ATA’s built in like the Linksys WRT54GP2 Basic VoIP Setup of a Home User Image taken from: http://www.quantumvoice.com/support_phone_installation.shtml Cisco CallManager Cisco CallManager is installed on a server that processes all the calls made on a Cisco VoIP system Normally CallManager is installed on Cisco brand servers but other brands can be used as well (http://www.cisco.com/en/US/products/hw/voice app/ps378/prod_brochure_list.html) CallManager servers are used in a clustered fashion and one cluster can support up to 30,000 IP phones Cisco CallManager Cisco CallManager servers are a key piece of a VoIP network structure. They essentially provide a database of the IP telephone/device MAC addresses and map them to IP addresses on the internal network. When an extension on the network is dialed from the outside the request is sent to a CallManager Server on the network which tells the connected network device which telephony device to ring. Cisco CallManager VoIP Network Diagram (Using Cisco equipment) Asterisk@Home A Linux based operating system that is essentially an IP-PBX system Originally developed by Mark Spencer, and employee of Digium Inc. which is the company that markets and supports this software A business version is also available Provides similar core functionality to Cisco’s CallManager Asterisk@Home The company does not specify exactly how many users the software supports According to Digium depending upon the codec used for voice compression anywhere from 60 – 120 simultaneous calls can be handled using a Dual 2.8 GHz server The business version is said to support 240+ simultaneous phone calls An FXO Card similar to the Cisco branded card can be added to an Asterisk server to provide the ability to make and receive calls to and from the PSTN Connecting your LAN to the PSTN Using Asterisk@Home A Basic Phone Call using Session Initiation Protocol The server looks at The server sends the Phone B and A exchange the extension that is INVITE message toWhen ACK’sthe (acknowledgements) conversation hasPhone A sends an being dialed (by Phone B ended and and anPhone RTP session A hangsisup INVITE message to Phone A) and a BYE established message tois stream sent and the the SIP server matches it with its communication voice between is terminated them and respective IP address communication begins (which is the IP of Phone B) INVITE BYE ACK A B Conference Calling with VoIP The Asterisk (and Cisco) system includes a feature called MeetMe MeetMe is essentially what we know as Conference Calling Monitoring the Asterisk Server The Asterisk Software supports call logs, and monthly and daily traffic reports “out of the box” There is an add-on package called Asterisk Stat2.0 that can be installed for additional call monitoring functionality and reporting The following information can be provided: duration of calls, call destinations, call sources, caller ID information, call date, and call time information Monitoring Voice Packets Anything from voice packets to voice quality can be analyzed and measured using various tools A company out of the UK named Sygnus Data provides several different monitoring options for VoIP network monitoring Their various VoIP analysis tools are listed here: http://www.sygnusdata.co.uk/3_tech.htm#10voip Why Switch to VoIP? Cost Savings Initial equipment costs can be very high but overtime the return-on-investment (ROI) becomes very high The following link provides a spreadsheet for organizations to enter their current phone usages and expenses for installing a VoIP system and see the time period for their ROI: http://www.pcmech.com/images/VoIP_Savings_ Calculator.xls Why Switch to VoIP? Mobile and Versatile Due to the fact that each end-user device (e.g. phones) register to a common server an individual can move anywhere in a building or campus and keep their phone number and be available almost anywhere Using your VoIP system with a VPN can provide remote communication and even more cost savings from nearly any location Our VoIP Implementation 1. Insert the Asterisk@Home Operating System CD and start the computer Our VoIP Implementation 2. When prompted hit the “enter” key to begin OS installation. While waiting for the installation screen begin installing MS Windows Server 2003 on the other two PC’s Our VoIP Implementation 3. After Asterisk@Home installation is complete reboot and select the “CentOS” option from the boot menu Our VoIP Implementation 4. The first time the Asterisk OS runs it will compile itself on the machine this may take awhile so take some time to install the XLite IP Softphone software on the Windows machines Our VoIP Implementation 5. Once the OS has compiled login to the server and type “netconfig” at the prompt to setup the servers network interface Our VoIP Implementation 6. We used the IP configuration shown below for our server Our VoIP Implementation 7. Now that the Asterisk Server has been configured, configure the client machines with IP addresses Our VoIP Implementation 8. Connect the server and both client machines to a network switch Our VoIP Implementation 9. Use the “ping” command at the command prompt on the client machines to verify connectivity with the Asterisk server Our VoIP Implementation 10. From the client machine, use Internet Explorer and type in the IP of the Asterisk server in the Address bar to access the Asterisk@Home web based management interface Our VoIP Implementation 11. The Asterisk Management Portal (AMP) is where you will setup most of the features asterisk has to offer in our case we will use it to set up our extensions Our VoIP Implementation 12. Fill in the extension information and password and specify the phone protocol being used Our VoIP Implementation 13. All extensions registered to the server along with their names are shown in the Management Portal Our VoIP Implementation 14. Now configure your Softphones with their respective extension information and fill in the server information. The fields circled below are the basic requirements for a functioning setup. Our VoIP Implementation 15. Your phone is now configured and you are ready to make calls Our VoIP Implementation 16. The phones have successfully been configured and are able to communicate with one another Expansion Possibilities Some possible ideas to expand upon the project are: Explore the conference calling (MeetMe) feature of the Asterisk OS Implement the use of Hardware phones from various manufacturers Install and experiment with the monitoring capabilities of the Asterisk-Stat 2.0 add-in package Add the necessary hardware and server configuration to connect our small VoIP network to the PSTN to make and receive telephone calls References Cisco IP Telephony: Solution Reference Network Design. Cisco Press. 2005. http://64.233.161.104/search?q=cache:7ZpNEaGwEkIJ:focus.ti.com/pdfs/vf/bband/v op_white_paper.pdf+voice+packetization&hl=en http://areski.net/asterisk-stat-v2/about.php http://www.cisco.com/en/US/products/hw/gatecont/ps2250/products_data_sheet091 86a008007c9bb.html http://www.cisco.com/en/US/products/hw/routers/ps274/products_data_sheet09186 a0080091ba1.html http://www.cisco.com/en/US/products/hw/routers/ps274/products_tech_note09186a 00800b53c7.shtml http://www.cisco.mn/en/US/products/hw/gatecont/ps2250/products_data_sheet0918 6a0080182d38.html http://computer.howstuffworks.com/ip-telephony.htm http://www.digium.com/asterisk_handbook/meetme_meetmecount.html http://www.digium.com/index.php?menu=fxsvfxo http://www.digium.com/index.php?menu=product_detail&category=software&produc t=ABE&tab=details http://www.electronics.dit.ie/staff/srooney/Output/VoIP%20Assignment%20Spring% 202002.pdf http://www.pcmech.com/show/network/771/ http://www.privateline.com/PCS/Digiprinc.htm http://www.protocols.com/pbook/VoIPfamily.htm http://en.wikipedia.org/wiki/MGCP http://en.wikipedia.org/wiki/Direct_Inward_Dialing