%include "default.mgp" %page Introduction to VOIP and Asterisk Daryll Strauss June 10th 2006 %page What are we Talking About? Voice Over IP (VOIP) allows telephone conversations to travel over a LAN or the Internet instead of traditional telephone wiring Asterisk is a "phone system" that can connect to many different devices, either traditional phone hardware or VOIP hardware. %page Telephone Terminology Foreign exchange office (FXO) is a port that connects to the phone company Foreign exchange system (FXS) is a port that connects to a telephone Analog telephone adapter (ATA) is a device with an ethernet port and a telephone port (FXS) %page Basic Phone Example Phone Line <-> Phone %pause Telephone <-> ATA <-> Internet <-> VOIP Provider %page Phone System Example Phone Line <-> phone system <-> Telephone wires <-> Phones %pause Phone Line <-> FXO <-> phone system <-> LAN <-> Phones %page VOIP Phone System VOIP Provider <-> Internet <-> Phone System <-> Lan <-> SIP Phones %page Benefits of VOIP Less expensive calling More flexible Location independent %page Downsides of VOIP More complicated Internet is "best effort" Requires bandwidth Not good for 911 %page Protocol Terminology Session Initiation Protocol (SIP) manages a telephone connection between two parties Session Description Protocol (SDP) provides the parameters for communicating between two parties Real time Transport Protocol (RTP) carries the voice data itself %page Protocol Terminology (cont) COder/DECoder (CODEC) converts voice into various data formats Simple Tunneling of UDP through NAT (STUN) determines how your firewall will interact with the communication Inter Asterisk exchange (IAX) is an Asterisk protocol that Asterisk uses to do the same sorts of things. %page Anatomy of a Call You dial your phone and your ATA starts handling the call It uses STUN to determine how it connects to the internet It uses SIP to authenticate with the VOIP provider %page Anatomy of a Call (cont) It uses SIP to initiate the call Once the call is connected to the remote end, SDP is used to determine how you and the other party will talk. SDP is embedded in SIP packets. RTP transmits the voice back and forth. SIP is used to shut down the conversation %page Linux Soft Phones SJPhone Ekiga Xlite Gizmo %page Voice Hardware USB Phone Headset for sound card Bluetooth Microphone & Speaker (Not recommended) %page VOIP Terminology Plain Old Telephone System (POTS) is the old "ma bell" phone system Packet Switched Telephone Network (PSTN) same thing Direct Inward Dial (DID) is a phone number Termination is the service for connecting a call to someone else %page Free Service Providers Free World Dialup SIPPhone IPKall Earthlink Google (eventually) %page VOIP Providers Vonage Voicepulse AXVoice Broadvoice Sunrocket Packet8 %page VOIP Providers (cont) Voxee VoipJet nufone Many others... %page Introduction to Asterisk Asterisk is a device independent voice platform Runs on Linux It works with analog telephone devices It works with VOIP It does it's own processing %page Features of Asterisk Multiple extensions aka Portable Branch Exchange (PBX) Interactive voice response (IVR) Voicemail conference calling %page Features of Asterisk (cont) Time dependent processing Music on hold Call queues Scripting Application integration Call logging & recording %page Real Asterisk Configuration (mine) Sipura 3000 Linux system (P4) SPA-841 phone Analog phone %page Real Asterisk Configuration (cont) Verizon Several VOIP providers Broadband internet %page Real Asterisk Configuration (cont) Interactive Voice Response (phone menus) Group & individual phone numbers Voice mail emails & pages cell phones Call queues Independent call paths %page Real Asterisk Configuration (cont) Caller-ID database Calling between extensions Least cost routing Forces routing Conference calls %page Asterisk Distributions Asterisk at Home now Trixbox Asterisk Fonality %page Asterisk as a platform Read the weather Dating service Crack the safe game Zork %page Experiment 1 Get a soft phone Get a sound card headset ($10) Join FWD/SIPPhone Make calls %page Experiment 2 Setup Asterisk Create a simple dial plan that plays a sound Call Asterisk using your soft phone %page Experiment 3 Configure Asterisk to use FWD/SIPPhone Configure soft phone as an Asterisk Extension Make calls %page Experiment 4 Get an IPKall account Configure it to point to your FWD/SIPPhone Call your system using a regular phone %page Experiment 5 Buy service from SIPPhone ($25 gets you inward number and 1000 minutes) Configure Asterisk to use it Dial in and out %page Experiment 6 Build up your Asterisk configuration Setup an IVR, Voicemail, etc. %page Hooked Yet? If you're hooked at this point, look at VOIP providers. Be aware of terms of service How long are you commited? How can you use the service? Make sure they allow "Bring Your Own Device" %page Caveats Make sure you have a reliable 911 service Realize that you can transfer your main number in to a VOIP provier, but VOIP providers aren't required to let you transfer it back out. Be sure you're happy with the service before you tell other people the number. It's hard to change that later. %page Resources http://www.voxilla.com http://www.voipsupply.com http://www.asterisk.org http://www.voip-info.org http://www.trixbox.org