You are previewing IP Telephony: Packet-based Multimedia Communications Systems.
O'Reilly logo
IP Telephony: Packet-based Multimedia Communications Systems

Book Description

I recommend this book to all VoIP engineers, analysts, and IT managers who really want to know what they are talking about on the net, enjoy!"
-Jeff Pulver, founder of the VON (Voice On the Net) coalition, and the founder and president of pulver.com

Internet Telephony is now one of the most important and fastest growing technologies on the Internet, providing a viable technical and economical alternative to current telecommunication networks. Network providers and major companies are thus investigating how this emerging technology can be implemented, and at what cost and savings, in their organizations.

This book provides a comprehensive practical overview of the technology behind Internet Telephony, giving essential information to IT professionals who need to understand the background and explore the issues involved in migrating the existing telephony infrastructure to an IP based real time communication service. Assuming a working knowledge of IP and ISDN networking, it addresses the technical aspects of real-time applications over IP, with an in-depth coverage of voice and video applications and protocols. Drawing on their extensive research and practical development experience in VoIP from its earliest stages, the authors give you access to all the relevant standards and cutting-edge techniques in a single resource.

IP Telephony is organized into three clearly structured sections, focusing on protocols, voice technology and networks with a step-by-step approach. The protocols section sets IP telephony in context and then covers H.323, SIP and MGCP in detail, examining in turn their pros and cons, and using examples of particular cases and scenarios. The voice technology section describes voice quality, including the ETSI TIPHON approach, and voice coding, with summary comments on the applicability to VoIP telephone gateways. The final section on networks addresses Quality of Service (QoS) issues, explores dimensioning a VoIP network, and introduces Multicast routing, including a perspective on security and MBONE applications.

Table of Contents

  1. Copyright
  2. Foreword
  3. Preface
    1. Flashback
    2. The technology
    3. Audience
    4. Relation to standards
    5. The future of multimedia over IP
    6. Acknowledgements
  4. I. The Application Layer IP Telephony Protocols
    1. 1. H.323 and a general background on IP telephony
      1. A little history
        1. Where to find documentation
        2. From RTP to H.323: a quick tour
      2. Transporting voice over a packet network
        1. A Darwinian view of voice transport
          1. The switched circuit network
          2. Asynchronous transmission and statistical multiplexing
        2. Voice and video over IP with RTP and RTCP
          1. Why RTP/RTCP?
          2. RTP
            1. Some uses of RTP
            2. A few definitions
            3. The RTP packet
          3. RTCP
            1. Bandwidth limitation
            2. RTCP packet types
              1. Sender and receiver reports
          4. SDES: source description RTCP packet
          5. BYE RTCP packet
          6. APP: application-defined RTCP packet
          7. Security
      3. H.323 step by step
        1. The ‘hello world’ case: simple voice call from terminal A to terminal B
          1. First phase: initializing the call
          2. Second phase: establishing the control channel
            1. Capabilities negotiation
            2. Master/slave determination
          3. Third phase: beginning of the call
          4. Fourth phase: dialogue
          5. The end
        2. A more complex case: calling a public phone from the Internet
          1. First phase: where is the gatekeeper?
          2. Second phase: requesting permission to make a new call
          3. Third phase: call signaling
          4. Termination phase
        3. H.323 across multiple domains
          1. Direct call model
            1. Call setup
            2. Call tear-down
          2. Gatekeeper routed model
            1. Call setup
            2. Call tear-down
          3. Other RAS messages – LRQ versus ARQ
            1. LRQ and ARQ: quotes from H.225
              1. ARQ and LAN access permission
              2. Address translation
            2. Conclusion
            3. Usage scenarios
              1. No pregranted ARQ
              2. Pregranted ARQ
      4. Advanced topics
        1. Faster procedures
          1. Call setup time
          2. Network-generated messages
          3. The Fast Connect procedure
          4. H.245 tunneling
          5. Reverting to normal operation
          6. Limited capability terminals
          7. The TCP slow-start issue
        2. Conferencing with H.323
          1. The MCU, MC and MP
          2. Creating or joining a conference
            1. Using an MCU directly
              1. Inviting people
              2. Joining an existing conference
              3. Browsing existing conferences
            2. Ad hoc conferences
              1. John invites Mary
              2. Mary calls John
            3. Conferences and RAS
          3. H.332
        3. Directories and numbering
          1. Current solution: contacting an email alias with H.323
          2. Gaps and future views
            1. A country code for the Internet
          3. DNS-based number resolution
          4. Flat numbering space
          5. UPT
            1. Dialing plan distribution
        4. H.323 security: H.235
          1. A short introduction to cryptography
            1. Common terms
            2. Cryptographic techniques
              1. Secret key cryptography
                1. Simple algorithms
                2. DES
              2. Asymmetric cryptography
                1. One-way functions
                2. How to negotiate a shared secret with the Diffie–Hellman algorithm
                3. Public key encryption with the El Gamal algorithm
                4. RSA
                5. Digital signatures
                6. Certificates
          2. Securing H.323 with H.235
            1. Tools
              1. Authentication procedures
              2. Tokens
              3. Identity verification methods
              4. Generating a shared secret with Diffie-Hellman
            2. Securing RAS
            3. Securing the call signaling channel (H.225)
            4. Securing the call control channel (H.245) and the media channels
            5. Media channels
      5. Media streams
        1. Codecs
          1. What is a good codec?
            1. Bandwidth usage
            2. Silence compression (VAD, CNG, DTX)
            3. Intellectual property
            4. Lookahead and frame size
            5. Resilience to loss
            6. Layered coding
            7. Fixed point or floating point
          2. ITU
            1. Choosing a codec at ITU
            2. Audio codecs
              1. G.711 (approved in 1965)
              2. G.722
              3. G.723.1 (approved in November 1995)
                1. Technology
                2. Silence compression
                3. Intellectual property
              4. G.726 (approved in 1990)
              5. G.728 (approved in 1992–94)
              6. G.729
                1. Technology
                2. Silence compression
                3. Licenses
                4. Option 1 – Royalty Based
                5. Option 2 – Pre-paid Option
              7. Future coders
            3. Video codecs
              1. Representation of colors
              2. Image formats
              3. H.261
                1. Motion detection
                2. DCT transform
                3. Quantization
                4. Zigzag scanning and entropy coding
                5. Output format
                6. Conclusion
              4. H.263
          3. ETSI SMG
            1. GSM full rate (1987)
            2. GSM half rate (1994)
            3. GSM enhanced full rate (1995)
          4. Other proprietary codecs
            1. Lucent/Elemedia SX7003P
            2. RT24 (Voxware)
        2. DTMF
        3. Fax
          1. A short primer on G3 fax technology
            1. Error conditions
          2. Fax transmission over IP (T.38 and T.37)
            1. Store&forward and the challenge of real-time fax
            2. T.38 (formerly T.iFax2)
              1. IFT
              2. IFP over TCP or UDP
              3. T.38 and H.323
      6. Supplementary services using H.450
        1. H.450.1
        2. H.450.2: call transfer
          1. Call transfer between H.450.2 aware endpoints
          2. Transfer using the gatekeeper
          3. Blind transfer, secure transfer, transfer with consultation
        3. H.450.3: call diversion
        4. The future of H.450
      7. Future work on H.323
    2. 2. The Session Initiation Protocol (SIP)
      1. The origin and purpose of SIP
        1. Overview of a simple SIP call
          1. Successful call to an IP address directly
          2. Codec negotiation
          3. Terminating a call
          4. Rejecting a call
        2. SIP messages
          1. SIP requests
          2. SIP responses
        3. Session description syntax, SDP
          1. Dynamic and static payload types
      2. Advanced services with SIP
        1. SIP entities
          1. Registrar
          2. Proxy
            1. The Via and Record Route headers
            2. Forking proxy
          3. Redirect server
        2. User location and mobility
          1. Locating users: SIP addresses
          2. Call agents
          3. Directed pickup and other advanced services
        3. Multiparty conferencing
          1. Multicast conferencing
          2. Multi-unicast conferencing
          3. Ad hoc conferencing
        4. Configuring network-based call handling
        5. Billing SIP calls
      3. SIP security
        1. Media security
          1. Message exchange security
            1. Requests
            2. Replies
            3. Authentication
        2. SIP firewalls
          1. Note on NAT
      4. SIP and H.323
        1. What SIP does and H.323 does not
          1. Speed
          2. Multicast
          3. URL usage
          4. Call prioritization
          5. Text encoding
        2. What H.323 does and SIP does not
          1. Logical channels
          2. Conference control
          3. Binary encoding
          4. Gatekeeper discovery
        3. H.323 to SIP gateways
        4. Conclusion on the future of SIP and its relation to H.323
    3. 3. Media gateway to media controller protocols (MGCP)
      1. Introduction
        1. Which protocol?
        2. What about the requirements?
        3. A new architecture for IP telephony?
      2. What is MGCP?
        1. MGCP commands
          1. Notification Request
            1. Notification Command
            2. Create Connection
            3. Modify Connection
            4. Delete Connection
            5. Audit Endpoint
            6. Audit Connection
            7. Restart in Progress
      3. Protocols at work
        1. Scenario 1
          1. Network configuration
          2. Call flows
        2. Scenario 2
          1. Network configuration
          2. Call flows
          3. Analysis
        3. The H.323 case
          1. Network configuration
          2. Call flows
          3. Analysis
      4. Notes
  5. II. Voice Technology Background
    1. 4. Voice quality
      1. Introduction
        1. Reference connection
      2. Echo in a telephone network
        1. Talker echo, listener echo
        2. Hybrid echo
          1. What is a hybrid?
        3. Acoustic echo
        4. How to limit echo
          1. Echo suppressors
          2. Echo cancellers
      3. Delay in a VoIP telephone network
        1. Influence of the operating system
        2. Influence of the jitter buffer policy on delay
        3. Influence of the codec, frame grouping and redundancy
        4. Consequence for measuring end-to-end delay
        5. Acceptability of a phone call with echo and delay
          1. The G.131 curve
          2. Interactivity
          3. A more complex model: the E-model
        6. Consequences for an IP telephony network
      4. The approach of ETSI TIPHON
        1. Other works
        2. Measurement of delays
          1. Other requirements for gateways and transcoding equipment
            1. Average level, clipping
        3. Other requirements for gateways and transcoding equipment
    2. 5. Voice coding
      1. Introduction
        1. Transmitted bandwidth, sampling and quantization
        2. Some basic tools for digital signal processing
          1. The Z transform
          2. Linear prediction for speech coding schemes
        3. The A or µ law ITU-T 64 kbit/s G.711
        4. Specifications and subjective quality of speech coders
          1. Speech quality assessment
        5. ACR subjective test or what is the MOS
          1. Other methods to assess speech quality
          2. Final comments on MOS figures
      2. Speech and auditory properties
        1. Speech production
        2. Auditory perception used for speech and audio bitrate reduction
      3. Quantization and coders
        1. Adaptive quantizers
        2. Differential (and predictive) quantization
          1. Linear prediction of signal to be quantized
          2. Long-term prediction for speech signal
        3. Vector quantization
        4. Entropy coding
        5. Waveform coders: the ADPCM ITU–T G.726
          1. Detailed description and digital test sequences
          2. Embedded version of the G.726 ADPCM coder
        6. Wideband speech coding using waveform-type coder
      4. Speech coding techniques
        1. Hybrids and analysis by synthesis speech coders
        2. The GSM Full Rate RPE-LTP speech coder
        3. Code excited linear predictive (CELP) coders
        4. The ITU-T 8 kbit/s CS-ACELP G.729
        5. The ITU-T G.723.1
        6. Discontinuous transmission and comfort noise generation
        7. The low delay CELP coding scheme: ITU-T G.728
        8. Partial conclusion on speech coding techniques and their near future
      5. Remarks applicable to VoIP telephone gateways
        1. Electrical echo canceller
        2. Best effort
        3. Non-standardization
        4. Annex A
        5. Annex B
  6. III. The Network
    1. 6. Quality of service
      1. What is QoS?
        1. Describing a data stream
        2. Queuing techniques for QoS
          1. Class-based queuing techniques
          2. Fair queuing techniques
            1. Simple fair queuing: bitwise round-robin fair queuing algorithm
            2. GPS policy in a node
            3. PGPS policy in a node
          3. How to calculate the GPS departure time
          4. PGPS multiplexers in a network
        3. Signaling QoS requirements
          1. The IP TOS octet
          2. Using the IP precedence field
          3. (Re) defining the values of the IP TOS octet
          4. Issues with IP TOS/DS octet
            1. Sorting flows
            2. Pricing
            3. TOS value assignment
        4. RSVP
          1. Services provided by RSVP
          2. RSVP messages
          3. Using RSVP to set up a controlled-load reservation
          4. Using RSVP to set up a guaranteed service reservation
          5. Soft states
          6. Other features
        5. Scaling issues with RSVP
          1. CPU limitations
          2. Over-provisioning
          3. State
          4. Some solutions
            1. A layered architecture
        6. Classes of service in the backbone
          1. Grouping of similar streams
          2. Bandwidth management
          3. Using DiffServ with RSVP tunneling
        7. RSVP to Diffserv mapping
          1. PATH messages
          2. RESV messages
          3. Caveats
        8. Improving QoS in the best-effort class
          1. Issues with UDP traffic
          2. Issues with TCP traffic
          3. RED and WRED
        9. Issues with slow links
        10. Conclusion
      2. Note
    2. 7. Network dimensioning
      1. Simple compressed voice flow model
        1. Voice coders
        2. Model for N simultaneous conversations using the same coder
        3. Loss rate and dimensioning
          1. Loss rate (without queuing)
          2. Loss rate (with queuing)
        4. Packet or frame loss?
        5. Multiple coders
      2. Network dedicated to IP telephony
        1. Is it necessary?
        2. Network dimensioning
          1. Traffic matrix
          2. Link sizing
          3. Fault tolerance
      3. Merging data communications and voice communications on a common IP backbone
        1. Prioritization of voice flows
        2. Impact on end-to-end delay
      4. Multipoint communications
        1. Audio multipoint conferences
          1. Star topology with centralized flow mixing
          2. Star topology with flow switching
          3. Using multicast with source-based trees
            1. Conferences over an Ethernet LAN
            2. LANs connected to a central router
            3. Larger networks
          4. Using a shared-tree multicast technology
          5. Using a hybrid unicast/multicast technique
          6. Conclusion
        2. Multipoint video conferencing
          1. Conclusion
      5. Modeling call seizures
        1. Introduction to the Erlang model
        2. Model for a limited set of servers and calls are rejected if no server is available
        3. Calls per second
          1. Poisson process
      6. Conclusion
    3. 8. IP Multicast Routing
      1. Introduction
      2. When to use multicast routing
        1. A real-time technology
        2. Network efficiency
      3. The multicast framework
        1. Multicast address, multicast group
        2. Multicast on Ethernet
        3. Group membership protocol
          1. IGMPv1
          2. IGMPv2
          3. IGMPv3
      4. Controlling scope in multicast applications
        1. Scope versus initial TTL
        2. TTL threshold
        3. Administrative scoping
      5. Building the multicast delivery tree
        1. Flooding and spanning tree
        2. Shared trees
        3. Source-based trees
          1. Dense and sparse mode protocols
          2. Reverse path broadcasting and truncated reverse path broadcasting
          3. Reverse path multicasting
      6. Multicast routing protocols
        1. DVMRPv3
        2. Other protocols
          1. MOSPF
            1. Description of operation in a single OSPF area
            2. Inter-area routing
          2. PIM
            1. PIM-DM
            2. PIM-SM
        3. Core-based trees
      7. Security issues in IP multicast
        1. Unauthorized listening
        2. Unauthorized sending and denial of service attacks
        3. Firewalls
      8. The Mbone
        1. Routing protocols
          1. Topology
          2. How to get connected
      9. Inter-domain multicast routing
        1. Inter-operation between domains running different protocols
        2. BGMP
          1. Operation with DVMRP and PIM-DM
          2. Inter-operation with PIM-SM
          3. Inter-operation with CBT and MOSPF
        3. Conclusion on multicast inter-domain routing
      10. Multicast caveats
        1. Multicasting on non-broadcast media
          1. Bridged LANs
            1. IGMP snooping
            2. Cisco group management protocol (CGMP)
            3. IEEE 802.1p group address resolution protocol
          2. Windows operating systems
          3. NICs
        2. Flooding
        3. Common issues
      11. Address allocation
      12. Mbone applications
        1. Video conferencing with RTP on multicast networks
        2. SDR: session directory
        3. VIC and VAT (see Fig. 8.31)
        4. Reliable multicast
          1. Why isn’t there a multicast TCP?
          2. Reliable multicast techniques
          3. Reliable multicast protocols
          4. SRM
          5. RMP
          6. Lucent RMTP
  7. Appendix: well known multicast addresses
  8. References
    1. Chapter 1
      1. Bibliography
        1. ITU
        2. ETSI standards
        3. RFCs
        4. Draft IETF documents
        5. About codecs
        6. Cryptography
    2. Chapter 2
      1. Bibliography
        1. RFCs
        2. ISO
    3. Chapter 3
      1. Bibliography
        1. ITU
        2. RFCs
        3. Draft documents
    4. Chapter 4
      1. Bibliography
        1. ITU
      2. Bibliography
        1. IEEE
        2. ETSI
    5. Chapter 5
      1. Bibliography
        1. ITUs
        2. Other References
    6. Chapter 6
      1. Bibliography
      2. Bibliography
        1. RFCs
        2. Draft IETFT documents
        3. RSVP simulator
    7. Chapter 7
      1. Bibliography
    8. Chapter 8
      1. Bibliography
        1. URLS
        2. RFCs and internet drafts
        3. Mailing lists
  9. Glossary