Building Voice
over IP
May 8, 2000
by Philip Carden
Regardless of whats in between, a phone
conversation between two people requires that each has both a microphone
and a speaker. In the traditional telephone, the microphone is located
in the mouthpiece and the speaker is located in the earpiece. In
an analog telephone (like the one you have at home), the voice signal
produced by the mouthpiece is sent directly along the wire to a
telephone exchange or a local PBX.
If youre going to use IP telephony, youll
still need a microphone and speaker. Those could be the microphone
and speaker supplied with your PC or built into a PC-attached headset.
But they could equally well be provided by a traditional analog
telephone attached to an IP telephony enabled PBX (a so-called iPBX)
or by a telephone plugged into a data port that supports IP telephony
directly (an IP telephone). Regardless of whether its a PC
or a traditional telephone attached to an iPBX or an IP telephone,
the basic mechanics of how an IP telephone call works are the same.
The call
So what happens when you want to make a call?
First of all, after youve dialed a telephone number or clicked
on a name, signaling is required to determine the status of the
called party available or busy -- and to establish the call
(signaling is used for many other things too, but more on that later).
Next, when the conversation starts, the analog signal produced by
the microphone needs to be encoded in a digital format suitable
for transmission across an IP network. The IP network itself must
then ensure that your real-time conversation is transported across
the available media in a manner that produces acceptable voice quality.
Finally, it may be necessary for the IP telephony stream to be converted
by a gateway to another format either for interoperation
with a different IP based multimedia scheme or because you are placing
a call to the traditional public telephone network. The overall
technology requirements of an IP telephony solution can therefore
be split into four categories signaling, encoding, transport
and gateway control.
The standards
For each of these areas there exist standards.
Unfortunately, in the key area of signaling there are two competing
sets of standards H.323 (an ITU standard) and SIP (Session
Initiation Protocol, an IETF standard). This is why discussions
of IP telephony often seem to boil down to an H.323 vs. SIP argument.
It is important to remember, however, that neither H.323 nor SIP
alone make up a complete set of IP telephony protocols they
are just the competing standards for signaling. Until recently there
was a similar situation with gateway control protocols, with competition
between IPDC (IP Device Control) and SGCP (Simple Gateway Control
Protocol). Now, however, the industry appears to have agreed on
a third standard, called MGCP (Media Gateway Control Protocol),
which combines the advantages of its two predecessors. For details
on which standards relate to signaling, encoding, transport and
gateway control, see the protocol tables below.
|
Signaling
|
|
|
|
H.323 Protocol Suite
|
|
|
H.323 V2
|
ITU
|
Packet-based multimedia communications
systems
|
|
H.225.0
|
ITU
|
Call signaling protocols and media stream
packetization for packet-based multimedia (includes Q.931
and RAS)
|
|
H.225.0 Annex G
|
ITU
|
Gatekeeper to gatekeeper (inter-domain)
communications
|
|
H.245
|
ITU
|
Control protocol for multimedia communications
|
|
H.235
|
ITU
|
Security and encryption for H-series
multimedia terminals
|
|
H.450.x
|
ITU
|
Supplementary services for multimedia
(call transfer, diversion, hold, park and pickup, call waiting,
message waiting)
|
|
H.323 Annex D
|
ITU
|
Real-time fax using T.38
|
|
H.323 Annex E
|
ITU
|
Call connection over UDP
|
|
H.323 Annex F
|
ITU
|
Single-use device
|
|
T.38
|
ITU
|
Procedures for real-time group 3 facsimile
communications over IP networks
|
|
T.120 series
|
ITU
|
Data protocols for multimedia conferencing
|
|
SIP Protocol Suite
|
|
SIP (RFC 2543)
|
IETF
|
Session initiation protocol
|
|
SDP (RFC 2327)
|
IETF
|
Session description protocol
|
|
SAP (Internet Draft)
|
IETF
|
Session announcement protocol
|
|
Encoding
|
|
|
|
Pulse Code Modulation (PCM) Variants:
|
|
G.711
|
ITU
|
Pulse Code Modulation (PCM) 48 to 64kbps
|
|
G.722
|
ITU
|
Sub-band ADPCM
|
|
G.726
|
ITU
|
Adaptive Differential PCM (ADPCM) 16
to 40kpbs
|
|
G.727
|
ITU
|
AEDPCM
|
|
Codebook Excited Linear Prediction
(CELP) Variants:
|
|
G.723.1
|
ITU
|
MPE/ACELP
|
|
H.728
|
ITU
|
LD-CELP
|
|
G.729
|
ITU
|
CS-ACELP
|
|
G.729
|
ITU
|
CS-ACELP
|
|
Transport
|
|
|
|
RTP (RFC 1889)
|
IETF
|
RTP: Real-time transport protocol
|
|
RTCP (RFC 1889)
|
IETF
|
RTCP: Real-time transport control protocol
|
|
RTSP (RFC 2324)
|
IETF
|
RTSP: Real-time streaming protocol
|
|
Gateway Control
|
|
|
|
MGCP
|
IETF
|
Media gateway control protocol (Internet
Draft)
|
|
MEGACO
|
IETF
|
MEGACO protocol (Internet Draft)
|
|
SGCP
|
IETF
|
Simple gateway control protocol (Internet
Draft)
|
|
IPDC
|
IETF
|
IP device control (Internet Draft)
|
|
H.GCP
|
ITU
|
Proposed recommendations for gateway
control protocol
|
|