Asynchronous communications
Transmission method whereby bits are sent without synchronizing via a clock signal, but instead using start and stop bits to identity the beginning and ending of each block of data.
ATA
Analog Telephone Adapter; a device by which you can connect a regular analog phone (wired or cordless) to the Internet to make and receive VoIP calls. It converts the analog signal from the phone to digital and is available from VoIP providers such as Vonage or Lingo.
Call processor
VoIP providers' equipment that receives the phone number you dial, checks it for format validity, and maps it to an IP address.
Circuit switching
Older, less efficient but reliable technology used by the regular public switched telephone network (also see PSTN and POTS). A connection called a circuit is established for the duration of the call.
Codec
Coder-decoder software that converts audio signals into compressed digital signals so they can be transmitted across a digital network. It then converts them back to analog at the other end.
Conference bridge
A device for connecting several parties in a phone call so that all participants can hear one another.
Data compression
Methods of reducing the number of bits in a set of data so it can be transmitted more quickly over the network and then expanded to its original size when it reaches the destination.
Endpoint
A phone or computer associated with a phone number and temporarily or permanently assigned an IP address.
Full duplex
The ability of devices at both ends of a communications to send and receive information simultaneously.
H 323
A set of protocol standards established by the International Telecommunications Unions (ITU) originally designed for video conferencing and also used for VoIP.
Half duplex
The ability to send data in two directions, but only one direction at a time.
High availability
Methods of ensuring rapid recovery from hardware or software failure employing redundancy and failover to backup components.
IP PBX
Internet Protocol-based Private Branch Exchange internal telephone switching system that supports convergence of voice and data networks for routing calls within a building or organization.
IP phone
Looks like an ordinary phone but connects to an IP router with an RJ-45 Ethernet connector. These phones run software that allows them to handle VoIP calls without going through an ATA.
IP telephony
All telephone type services that work over TCP/IP, including VoIP, text messaging, and IP-based faxing.
IP
Internet Protocol; the network layer protocol by which computers on the Internet and other TCP/IP networks communicate with one another via unique binary addresses (32-bit addresses represented as "dotted quad" decimal addresses in IPv4 or 128-bit addresses represented as hexadecimal addresses in IPv6).
IVR
Interactive Voice Response; an application that allows users to access computerized information over the phone using keypad touchtones or voice commands. The commands are translated into digital queries and the results are returned from the computer hosting the information database. The results are then translated into computerized voice messages spoken to the caller.
Jitter
Variations in arrival time of data packets.
Latency
The amount of time it takes for a data packet to be transmitted from one endpoint to another.
Mapping
The process of determining to what IP address a VoIP call is to be routed, based on the phone number that is dialed.
Media Gateway Control Protocol
Protocol used to control telephony gateways.
North American Numbering Plan (NANP)
The system that the traditional phone networks use for routing calls based on the telephone number dialed.
Packet switching
Newer, more efficient technology used for IP communications on the Internet, by which data is broken into parts called packets. Different packets can take different routes to the destination, arriving out of order. They are reassembled into the original order at the destination.
Packet
A unit or "manageable chunk" of data into which complete messages are divided to be routed across the Internet or other TCP/IP network.
PoE
Power over Ethernet; a method of sending electrical power over Ethernet cable to alleviate the requirement to plug equipment into an electrical outlet or other power source.
POTS
Plain old telephone network; a telephone industry colloquial nickname for PSTN.
PSTN
Public switched telephone network; the traditional circuit switching network used for transmitting voice conversations. Also see POTS.
QoS
Quality of Service; a guaranteed or predictable level of bandwidth, transmission speed, and freedom from dropped packets, delay, jitter, and error that is necessary to ensure adequate performance of particular applications.
SCCP/Skinny
Skinny Client Control Protocol; IP telephony protocol developed by Cisco whereby the telephone can communicate with an H.323 proxy.
Simple Gateway Control Protocol (SGCP)
Protocol used to control telephony gateways.
Simplex
The ability to send data in only one direction.
SIP
Session Initiation Protocol; a small and efficient application layer protocol specifically designed for VoIP communications.
Soft switch
Programmable switch that processes signaling for packet protocols and can be used to integrate telephone signaling with packet switching networks.
Softkeys
Buttons on a telephone handset or software keypad display that can be programmed by the user to activate a specific action, such as speed dialing a particular phone number.
Softphone
VoIP software that runs on your desktop, laptop or handheld computer and provides an onscreen telephone interface to allow you to make phone calls through your computer using its speakers or headset and microphone without a traditional telephone handset.
Synchronous communications
Transmission method whereby a fixed frequency synchronizing clock signal is used to synchronize data sent between a sending and receiving device.
TAPI
Telephony Application Programming Interface; programming interface for allowing Windows client applications to communicate with server-based voice communications services.
Telephony gateway
The network device by which analog signals on telephone circuits are converted to digital data packets to enable calls between VoIP phone lines and standard PSTN phone lines.
Voice messaging
Application whereby voice messages are recorded, stored, and retrieved for later playback. A private access code is usually required for remote retrieval. Some systems can notify the recipient of the message via pager, outdialing, or e-mail.
VoIP session
A connection between two computers or VoIP phones using the same protocols and sending data across two channels, one for transmission of packets in each direction.
VoIP
Voice over Internet Protocol; technology for transmitting voice calls over a TCP/IP packet switching network such as the Internet, thereby avoiding long distance charges associated with the traditional public switched telephone network.
SIP (Session Initiation Protocol) is currently described by the rfc2543 SIP is a popular open standard replacement from IETF (Internet Engineering TasForce) for H.323 signaling standard for managing multimedia session initiation. SIP can be used to initiate voice, video and multimedia sessions, for both interactive applications (e.g. an IP phone call or a videoconference) and not interactive ones (e.g. a Video Streaming). It is the more promising candidate as call setup signaling for the present day and future IP based telephony services, as it has been also proposed for session initiation related uses, such as for messaging, gaming, etc.SIP needs two ports, one for the command exchange and one for the RTP stream which contains the voice. It’s easier to work with firewalls than H.323, but you still need to have a proxy running. The following SIP UAs are divided into two groups for Multiplatform and Linux only:
Multi-Platform
Linux
Windows
VoIP traditionally uses H.323, a rather complicated protocol that uses multiple ports and a binary code for data. But apps like FreeSWITCH make H.323 seem like a piece of cake with its all-in-one application. The following H.323 clients are broken down into Multiplatform, Linux, MacOS X, and Windows.
Multiplatform
Linux
MacOS X
Windows
It is very easy to get into a discussion that is very technical and confusing to most readers. The purpose of this section will be to provide a very high-level overview of Voice over IP (▲VoIP) aimed at those who do not consider themselves experts in the subject and hopefully with enough clarity that it serves as a good introduction to most readers.
Many people have used a computer and a microphone to record a human voice or other sounds. The process involves sampling the sound that is heard by the computer at a very high rate (at least 8,000 times per second or more) and storing those "samples" in memory or in a file on the computer. Each sample of sound is just a very tiny bit of the person's voice or other sound recorded by the computer. The computer has the wherewithal to take all of those samples and play them, so that the listener can hear what was recorded.
VoIP is based on the same idea, but the difference is that the audio samples are not stored locally. Instead, they are sent over the IP network to another computer and played there.
Of course, there is much more required in order to make VoIP work. When recording the sound samples, the computer might compress those sounds so that they require less space and will certainly record only a limited frequency range. There are a number of ways to compress audio, the algorithm for which is referred to as a "compressor/de-compressor", or simply ▲CODEC. Many CODECs exist for a variety of applications (e.g., movies and sound recordings) and, for VoIP, the CODECs are optimized for compressing voice, which significantly reduce the bandwidth used compared to an uncompressed audio stream. Speech CODECs are optimized to improve spoken words at the expense of sounds outside the frequency range of human speech. Recorded music and other sounds do not generally sound very good when passed through a speech CODEC, but that is perfectly OK for the task at hand.
Once the sound is recorded by the computer and compressed into very small samples, the samples are collected together into larger chunks and placed into data packets for transmission over the IP network. This process is referred to packetization. Generally, a single IP packet will contain 10 or more milliseconds of audio, with 20 or 30 milliseconds being most common.
Vint Cerf
, who is often called the Father of the Internet, once explained packets in a way that is very easy to understand. Paraphrasing his description, he suggested to think of a packet as a postcards sent via postal mail. A postcard contains just a limited amount of information. To deliver a very long message, one must send a lot of postcards. Of course, the post office might lose one or more postcards. One also has to assemble the received postcards in order, so some kind of mechanism must be used to properly order to postcards, such as placing a sequence number on the bottom right corner. One can think of data packets in an IP network as postcards.
Just like postcards sent via the postal system, some IP data packets get lost and the CODECs must compensate for lost packets by "filling in the gaps" with audio that is acceptable to the human ear. This process is referred to as ▲packet-loss concealment (PLC). In some cases, packets are sent multiple times in order to overcome packet loss. This method is called, appropriately enough, redundancy. Another method to address packet loss, known as forward-error correction (FEC), is to include some information from previously transmitted packets in subsequent packets. By performing mathematical operations in a particular FEC scheme, it is possible to reconstruct a lost packet from information bits in neighboring packets.
Packets are also sometimes delayed, just as with the postcards sent through the post office. This is particularly problematic for VoIP systems, as delays in delivering a voice packet means the information is too old to play. Such old packets are simply discarded, just as if the packet was never received. This is acceptable, as the same PLC algorithms can smooth the audio to provide good audio quality.
Computers generally measure the packet delay and expect the delay to remain relatively constant, though delay can increase and decrease during the course of a conversation. Variation in delay (called jitter) is the most frustrating for IP devices. Delay, itself, just means it takes longer for the recorded voice spoken by the first person to be heard by the user on the far end. In general, good networks have an end-to-end delay of less than 100ms, though delay up to 400ms is considered acceptable (especially when using satellite systems). Jitter can result in choppy voice or temporary glitches, so VoIP devices must implement jitter buffer algorithms to compensate for jitter. Essentially, this means that a certain number of packets are queued before play-out and the queue length may be increased or decreased over time to reduce the number of discarded, late-arriving packets or to reduce "mouth to ear" delay. Such "adaptive jitter buffer" schemes are also used by CD recorders and other types of devices that deal with variable delay.
Video works in much the same way as voice. Video information received through a camera is broken into small pieces, compressed with a CODEC, placed into small packets, and transmitted over the IP network. This is one reason why VoIP is promising as a new technology: adding video or other media is relatively simple. Of course, there are certain issues that must be considered that are unique to video (e.g., frame refresh and much higher bandwidth requirements), but the basic principles of VoIP equally apply to ▲video telephony.
Of course there is much more to VoIP than just sending the audio/video packets over the Internet. There must also be an agreed protocol for how computers find each other and how information is exchanged in order to allow packets to ultimately flow between the communicating devices. There must also be an agreed format (called payload format) for the contents of the media packets. We will describe some of the popular VoIP protocols in the next section.
Through this section, we have focused on computers that communicate with each other. However, VoIP is certainly not limited to desktop computers. VoIP is implemented in a variety of hardware devices, including IP phones, ▲analog terminal adapters (ATAs), and ▲gateways. In short, a large number of devices can enable VoIP communication, some of which allow one to use traditional telephone devices to interface with the IP networks: one does not have to throw out existing equipment to migrate to VoIP.