This page is no longer actively maintained but please feel free to report any dead links & I will update or remove.
Voice over Internet Protocol (VoIP) allows you to make telephone calls using an internet connection instead of a normal analogue phone line. Calls can be placed from one VoIP phone to another or to any phone in the world by using one of the VoIP to PSTN service providers.
What do I need? – All you need to get started with VoIP is a broadband internet connection, a PC with microphone & speakers (or ideally, a headset with mic) and a softphone. Once you have got to grips with that you might want to move on to a hardphone or an Analogue Telephone Adapter (ATA) that will allow you to connect an ordinary phone.
The open source Asterisk project offers full PBX capabilities for your VoIP system, allowing calls to be placed between extensions, via VoIP service providers or via your PSTN line. Asterisk allows you to implement auto attendant features (press 1 for foo, press 2 for bar etc), voicemail, voicemail to email and much much more. See my Home Automation page for an example of some of the more unusual
things Asterisk can do.
There are several VoIP Protocols but the two which you should consider are SIP and IAX:
SIP: Session Initiation Protocol – The IETF protocol for VOIP and other text and multimedia sessions, for
SIP VOIP calls the actual voice packets are sent using RTP. SIP is the most common VoIP protocol today but is not very NAT friendly.
IAX: Inter Asterisk eXchange Protocol – A NAT friendly protocol (uses a single UDP port) originating from the Asterisk project. Mainly used for linking asterisk PBXs although there are now some IAX softphones available and the Digium IAXy ATA is starting to become available now.
- The VOIP Wiki – a reference guide to all things VOIP
- Voip User
- Unofficial Asterisk Forums
- FWD Forums
- E164.org – ENUM (DNS for phone numbers)