Table Of ContentInternet Multimedia
Communications
Using SIP
This page intentionally left blank
The Morgan Kaufmann Series in Networking
Series Editor, David Clark, M.I.T.
Internet Multimedia Traffi c Engineering and QoS
Communications Using SIP Optimization of Integrated Voice &
Rogelio Martínez Perea Data Networks
Gerald R. Ash
Bluetooth Application Programming
with the Java APIs, Essentials Edition IPv6 Core Protocols Implementation
C. Bala Kumar, Paul Kline, and Tim Thompson Qing Li, Tatuya Jinmei, and Keiichi Shima
Information Assurance: Smart Phone and Next-Generation
Dependability and Security in Mobile Computing
Networked Systems Pei Zheng and Lionel Ni
Yi Qian, James Joshi, David Tipper, and
GMPLS: Architecture and
Prashant Krishnamurthy
Applications
Network Simulation Experiments Adrian Farrel and Igor Bryskin
Manual, 2e
Network Security: A Practical
Emad Aboelela
Approach
Network Analysis, Architecture, and Jan L. Harrington
Design, 3e
Content Networking: Architecture,
James D. McCabe
Protocols, and Practice
Wireless Communications & Markus Hofmann and Leland R. Beaumont
Networking: An Introduction
Network Algorithmics: An
Vijay K. Garg
Interdisciplinary Approach to
Ethernet Networking for the Small Designing Fast Networked Devices
Offi ce and Professional Home Offi ce George Varghese
Jan L. Harrington
Network Recovery: Protection and
IPv6 Advanced Protocols Restoration of Optical, SONET-SDH,
Implementation IP, and MPLS
Qing Li, Tatuya Jinmei, and Keiichi Shima Jean Philippe Vasseur, Mario Pickavet, and Piet
Demeester
Computer Networks: A Systems
Approach, 4e Routing, Flow, and Capacity Design
Larry L. Peterson and Bruce S. Davie in Communication and Computer
Networks
Network Routing: Algorithms,
Michał Pióro and Deepankar Medhi
Protocols, and Architectures
Deepankar Medhi and Karthikeyan Wireless Sensor Networks: An
Ramaswami Information Processing Approach
Feng Zhao and Leonidas Guibas
Deploying IP and MPLS QoS for
Multiservice Networks: Theory and Communication Networking: An
Practice Analytical Approach
John Evans and Clarence Filsfi ls Anurag Kumar, D. Manjunath, and Joy Kuri
The Internet and Its Protocols: A Multicast Communication: Protocols,
Comparative Approach Programming, and Applications
Adrian Farrel Ralph Wittmann and Martina Zitterbart
Modern Cable Television High-Performance Communication
Technology: Video, Voice, and Data Networks, 2e
Communications, 2e Jean Walrand and Pravin Varaiya
Walter Ciciora, James Farmer, David Large,
Internetworking Multimedia
and Michael Adams
Jon Crowcroft, Mark Handley, and Ian
Bluetooth Application Programming Wakeman
with the Java APIs
Understanding Networked
C. Bala Kumar, Paul J. Kline, and Timothy J.
Applications: A First Course
Thompson
David G. Messerschmitt
Policy-Based Network Management:
Solutions for the Next Generation Integrated Management of
John Strassner Networked Systems: Concepts,
Architectures, and their Operational
MPLS Network Management: MIBs,
Application
Tools, and Techniques
Heinz-Gerd Hegering, Sebastian Abeck, and
Thomas D. Nadeau
Bernhard Neumair
Developing IP-Based Services:
Virtual Private Networks: Making the
Solutions for Service Providers and
Right Connection
Vendors
Dennis Fowler
Monique Morrow and Kateel Vijayananda
Networked Applications: A Guide to
Optical Networks: A Practical
the New Computing Infrastructure
Perspective, 2e
David G. Messerschmitt
Rajiv Ramaswami and Kumar N. Sivarajan
Wide Area Network Design: Concepts
Internet QoS: Architectures and
and Tools for Optimization
Mechanisms
Robert S. Cahn
Zheng Wang
TCP/IP Sockets in Java: Practical For further information on these books and
Guide for Programmers for a list of forthcoming titles, please visit
Michael J. Donahoo and Kenneth L. Calvert our Web site at http://www.mkp.com
TCP/IP Sockets in C: Practical Guide
for Programmers
Kenneth L. Calvert and Michael J. Donahoo
Internet Multimedia
Communications
Using SIP
A Modern Approach Including
®
Java Practice
Rogelio Martínez Perea
AMSTERDAM (cid:129) BOSTON (cid:129) HEIDELBERG (cid:129) LONDON
NEW YORK (cid:129) OXFORD (cid:129) PARIS (cid:129) SAN DIEGO
SAN FRANCISCO (cid:129) SINGAPORE (cid:129) SYDNEY (cid:129) TOKYO
Morgan Kaufmann is an imprint of Elsevier
Acquisitions Editor: Rick Adams
Publishing Services Manager: George Morrison
Project Manager: Mónica González de Mendoza
Assistant Editor: Greg Chalson
Production Assistant: Lianne Hong
Design Direction: Joanne Blank
Cover Design: Anne Carter
Cover Image © iStockphoto
Composition: Charon Tec
Interior printer: Sheridan Books, Inc.
Cover printer: Phoenix Color Corporation
Morgan Kaufmann Publishers is an imprint of Elsevier.
30 Corporate Drive, Suite 400, Burlington, MA 01803, USA
This book is printed on acid-free paper.
© 2008 Rogelio Martínez Perea. Published by Elsevier, Inc. All rights reserved.
Designations used by companies to distinguish their products are often claimed as trademarks or
registered trademarks. In all instances in which Morgan Kaufmann Publishers is aware of a claim, the
product names appear in initial capital or all capital letters. Readers, however, should contact the
appropriate companies for more complete information regarding trademarks and registration.
No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form
or by any means—electronic, mechanical, photocopying, scanning, or otherwise—without prior
written permission of the publisher.
Permissions may be sought directly from Elsevier’s Science & Technology Rights Department in
Oxford, UK: phone: ((cid:2)44) 1865 843830, fax: ((cid:2)44) 1865 853333, E-mail: permissions@elsevier.com.
You may also complete your request online via the Elsevier homepage (http://elsevier.com), by select-
ing “Support & Contact” then “Copyright and Permission” and then “Obtaining Permissions.”
Library of Congress Cataloging-in-Publication Data
Martínez Perea, Rogelio.
Internet multimedia communications using SIP : a modern approach including Java practice /
Rogelio Martínez Perea.
p. cm. — (Morgan Kaufmann series in networking)
Includes bibliographical references and index.
ISBN 978-0-12-374300-8 (hbk. : alk. paper) 1. Computer network protocols. 2. Internet. 3. Multimedia
systems. I. Title. II. Title: Internet multimedia communications using Session Initiation Protocol.
TK5105.55.M373 2008
004.6(cid:3)2—dc22
2007039431
ISBN: 978-0-12-374300-8
For information on all Morgan Kaufmann publications, visit our
Web site at www.mkp.com or www.books.elsevier.com
08 09 10 11 12 13 10 9 8 7 6 5 4 3 2 1
Printed in the United States of America
To my parents, for their love and support
This page intentionally left blank
Contents
Preface xv
About the Author xx
Foreword xxi
PART I FUNDAMENTALS 1
CHAPTER 1 Introduction ..........................................................................................3
1.1 IP Multimedia Communication Services ....................................................3
1.2 The Role of Signaling and Media................................................................6
1.3 Type of Services Enabled by SIP ..............................................................10
1.4 Examples of SIP Applications ...................................................................13
1.5 The Internet Engineering Task Force (IETF) ............................................16
1.6 Summary ..................................................................................................20
CHAPTER 2 A Bit of History ..................................................................................21
2.1 The Third Revolution in the Internet .......................................................21
2.2 The Next Revolution in the Telecommunication Industry ......................23
2.3 A Brief History of Internet Multimedia ....................................................26
2.4 Summary ..................................................................................................29
CHAPTER 3 IP Multimedia Fundamentals ......................................................31
3.1 Internet Concepts ....................................................................................31
3.2 TCP/IP Protocol Architecture ..................................................................34
3.3 Architecture for Internet Multimedia Communications ..........................39
3.4 Summary ..................................................................................................42
CHAPTER 4 SIP Overview ......................................................................................43
4.1 What is SIP? ..............................................................................................43
4.2 SIP Addressing ..........................................................................................44
4.3 SIP Functions ...........................................................................................45
4.4 SIP Entities ...............................................................................................50
4.5 Summary ..................................................................................................58
CHAPTER 5 Multimedia-Service Creation Overview ..................................59
5.1 What are SIP Services? .............................................................................59
5.2 SIP Services and SIP Entities ....................................................................60
5.3 Terminal-Based or Network-Based SIP Services .......................................62
5.4 SIP Programming Interfaces .....................................................................64
5.5 Media-Programming APIs .........................................................................69
5.6 APIs Used in This Book ............................................................................70
5.7 Summary ..................................................................................................70
Description:Session Initiation Protocol (SIP) was conceived in 1996 as a signaling protocol for inviting users to multimedia conferences. With this development, the next big Internet revolution silently started. That was the revolution which would end up converting the Internet into a total communication system