(rev. May 03, 2015) 
 
Notes On Chapter Twenty-Eight
-- Multimedia And IP Telephony (VoIP)
-  28.0 Study Guide  
    
    -  Understand what multimedia and realtime multimedia are.
    
 -  Know what delayed playback and jitter buffering is about, and
         the reasons they are utilized.
    
 -  Know what RTP stands for, what RTP is used for, and how it is
         encapsulated.
    
 -  Be familiar with the terms IP Telephony and Voice over IP (VoIP).
    
 -  Understand complexities of implementing IP Telephony, in particular
         issues of compatibility with the Public Switched Telephone Network.
    
 -  Be aware that there is a variety of competing standards for IP 
         Telephony protocols.
    
 
 -  28.1 Introduction  
    
    -  Internet Transfer of Multimedia
    
 -  Best-effort Multimedia Transmission
    
 -  Real-Time Traffic Protocol
    
 -  Transmission of Voice Telephone Calls
    
 
 -  28.2 Real-Time Data Transmission And Best-Effort Delivery  
    
    -   Multimedia data is audio and/or video, possibly mixed with text.
    
 -   Realtime Multimedia is multimedia that has to be reproduced 
          at the same rate it was captured.
    
 -   The question arises how the mere best-effort service underlying 
          the Internet can reliably deliver such services as realtime multimedia.
    
 -   Protocols for realtime multimedia are concerned mainly with dealing
          with jitter, so that playback will be smooth.  There's seldom any
          point in performing retransmission, since packets that arrive 
          significantly late are too late to be included in playback.
    
 
 -  28.3 Delayed Playback and Jitter Buffers  
    
    -  The receiver of realtime multimedia for playback typically 
         utilizes timestamps of some kind to assure the content is
         played in the correct order.
    
 -  To achieve smooth playback, a receiver may delay the playback of the
         contents of the initial packet, so that a certain number of packets 
         can accumulate in an input buffer called a jitter buffer.  
    
 -  From then on, the receiver plays content from the buffer at a constant
         rate.
    
 -  Due to jitter, the number of items in the buffer may vary significantly
         over time.  However, as long as the jitter is not too extreme, 
         the item that has to be played next will always be in the buffer.
    
 
 
 -  28.4 Real-Time Transport Protocol  
    
    -  Real-Time Transport Protocol (RTP) is an application layer protocol
         for transfer of realtime data. 
    
 -  The RTP header has sequence number, timestamp, and source identifier fields
         that help the receiver implement the functionality of a jitter buffer.
    
 -  RTP fields also provides support for 
         
         -  video encodings that send incremental changes after a full frame, 
         
 -  multiple senders to a multicast address, and 
         
 -  the mixing of multiple streams by intermediate systems.
         
 
     
 
 -  28.5 RTP Encapsulation  
    
    -  Figure 28.3 illustrates the manner in which RTP is encapsulated in UDP.
    
 -  It is possible to broadcast or multicast UDP datagrams, and therefore
         it is also possible to broadcast or multicast RTP, which is useful
         when RTP is used to carry performances for large audiences.
    
 
 
 -  28.6 IP Telephony  
    
    -  IP Telephony aka  Voice over IP (VoIP) is 
         the practice of transmitting voice conversations over
         the Internet.  
    
 -  Much of the motivation is economic: it is cheaper to set up
         Internet routers and networks than a system of telephone
         switches, and it is simpler to use the Internet for both
         voice and data than to have separate systems.
    
 -  Although the basic idea of VoIP is simple, there are
         significant obstacles to implementation, especially
         the difficulty of making it backward compatible with
         the  Public Switched Telephone Network (PSTN).
    
 -  Challenges include: real-time processing constraints;
         call setup and termination; dialing; translation of 
         telephone numbers into IP addresses; call acceptance
         and answering; 'patching through' among Internet,
         cellular system, and PSTN systems; and implementing call
         forwarding, call waiting, voice mail, conference calls, 
         caller ID, and PBX features.
    
 
 -  28.7 Signaling and VoIP Signaling Standards  
    
    -  The International Telecommunications Union (ITU), which
         controls telephone standards, created standards for IP telephony.
    
 -  So did the Internet Engineering Task Force (IETF), which
         controls TCP/IP standards.
    
 -  There is agreement among the standards to use  Pulse Code Modulation 
         (PCM) for audio encoding, and RTP for transfer of audio.
    
 -  Signaling is at issue - how to perform call setup and management, 
         which includes mapping numbers to locations, routing calls, and handling
         details such as call forwarding.  The traditional telephone system
         uses a mechanism known as Signaling System 7 (SS7).
    
 -  For example, there is disagreement over whether parties should connect with a
         decentralized client/server model, or utilize a centralized approach
         like the traditional phone system.  
    
 -  Four sets of signaling protocols have been proposed: 
         Session Initiation Protocol (SIP),  
         Media Gateway Control Protocol (MGCP),  
         H.323, and Megaco (H.248).
    
 
  
 -  28.8 Components of An IP Telephone System  
    
    -  Refer to Figures 28.4 and 28.5 
 
     -  The IP telephone can be a standalone Internet device, or 
         implemented with hardware and software on a conventional
          computer connected to the Internet.
    
 -  The Media Gateway Controller, aka gatekeeper or
          softswitch, provides overall control and coordination.
    
 -  The media gateway might translate audio going from an 
         IP network across to the Public Switched Telephone Network (PSTN).
    
 -  A signaling gateway might be used to allow a caller on an
         IP telephone to place a call to a phone on the PSTN.
         
 
     -  28.8.1 SIP Terminology And Concepts  
         
         -  SIP was proposed by the IETF.  It relies as much as possible on
              existing IP protocols, such as DNS.
         
 -  SIP defines user agents, location servers, and 
              support servers.
         
 -  User agents can act as clients or servers.  They make or 
              terminate phone calls. Examples are 
              IP telephone, laptop, or PSTN gateway.
         
 -  A location server manages information about each user, and
              responds to queries during call set-up.
         
 -  Support servers include proxy servers that help with optimal
              routing and authorization, redirect servers that help with 
              call-forwarding and 800-numbers, 
              and registrar servers for registration requests and 
              maintenance of database information.
         
 
 
     -  28.8.2 H.323 Terminology And Concepts  
         
         -  H.323 is a standard from the ITU.
         
 -  Terminals provide telephone function
         
 -  A Gatekeepers provides location info and signaling,
              plus coordinates the gateway that give access to the
              Public Switched Telephone Network.
         
 -  A single Gateway interconnects the IP telephone 
              system with the Public Switched Telephone Network, and 
              performs signaling and media translation.
         
 -  A Multipoint Control Unit (MCU) - services like multipoint
              conferencing.
         
 
 
     -  28.8.3 ISC Terminology and Concepts  
         
         -  Vendors formed the 
              International Softswitch Consortium (ISC) to create a 
              single framework for IP Telephony, defining this comprehensive
              list of functions:
              
              -  Media Gateway Controller Function (MGC-F)
              
 -  Call Agent Function (CA-F)
              
 -  Inter-Working Function (IW-F)
              
 -  Routing Function (R-F) and 
                   Accounting Function (A-F)
              
 -  Signaling Gateway Function (SG-F)
              
 -  Access Gateway Signaling Function (AGS-F)
              
 -  Application Server Function (AS-F)
              
 -  Service Control Function (SC-F)
              
 -  Media Gateway Function (MG-F)
              
 -  Media Server Function (MS-F)
              
 
          
 
     
 -  28.9 Summary of Protocols And Layering  
    
    -  Figure 28.6 lists proposed protocols (many are competing) along 
         with their positions in the 5-layer Internet reference model.
    
 
 
 -  28.10 H.323 Characteristics  
    
    -  H.323 protocols work together to handle:
         
         -  all aspects of digital telephone calls
         
 -  signaling to set up and manage calls
         
 -  transmission of video and data during voice calls
         
 -  binary messages
         
 -  security protocols
         
 -  Multipoint Control Unit hardware for conference calls
         
 -  servers for tasks such as phone number to IP address
              translation, authentication, authorization, 
              and accounting.
         
 
     
 -  28.11 H.323 Layering  
    
    -  H.323 uses both TCP and UDP.  Audio may travel over UDP as data is 
         transported with TCP.  Figure 28.7 illustrates basics of H.323 layering.
    
 
 
 -  28.12 SIP Characteristics And Methods  
    
    -  SIP operates at the application layer 
    
 -  SIP does signaling
    
 -  SIP provides services like call-forwarding
    
 -  SIP uses multicast for conference calls
    
 -  SIP allows the two sides of a call to negotiate 
         capabilities, media, and parameters.
    
 -  A SIP  Uniform Resource Identifier (URI) contains 
         a user name and domain name, for example
         sip:smith@somecompany.com
     -  SIP defines six basic message types called 
         methods and seven extensions.
    
 -  Figure 28.8 lists the basic SIP methods.
    
 
 
 -  28.13 An Example SIP Session  
    
    -  User agent A contacts DNS server, then communicates with a proxy server,
         which invokes a location server.  The two IP phones communicate directly
         after the connection is established. SIP is used afterwards to terminate
         the call.
    
 -  User agents are configured to have the IP address of one or more DNS
         servers and one or more proxy servers.
    
 -  Proxy servers are configured to have the IP address of one or more 
         location servers.
    
 
 
 -  28.14 Telephone Number Mapping And Routing  
    
    -  The Public Switched Telephone Network uses the ITU E.164 standard
         telephone numbers.
    
 -  SIP uses IP addresses.
    
 -  E.164 NUMbers (ENUM) is an IETF protocol that uses the 
         Domain Name System for converting
         a telephone number into a SIP Uniform Resource Identifier
         that is part of a special domain.
    
 -  For example, the telephone number 1-800-555-1234 is translated into
         4.3.2.1.5.5.5.0.0.8.1.e164.arpa (the string of digits is reversed).
    
 -  The IETF Telephone Routing over IP (TRIP) protocol is used
         to find users in integrated networks which may be comprised
         of multiple Public Switched Telephone Networks interconnected with
         IP networks.
    
 -  Pairs of location servers use TRIP to inform each other about external
         routes.  
    
 -  The location servers tell each other about signaling gateways that 
         provide connections between 
         IP Telephone Administrative Domains.