Preface

Why This Book

In the late 1990s, I was engineering manager at the switching department in a mobile telecom operator. The mobile switches we dealt with were based on circuit-switched technology. They were big, complex, and proprietary pieces of hardware and software involved almost exclusively in the provision of voice service. By that time, ATM (Asynchronous Transfer Mode), a packet-switched technology that followed the virtual circuit approach, started to gain maturity as a suitable way for carrying media traffic with QoS requirements. Media transport was only part of the problem. The other part, signaling, did not have, by then, a mature candidate. The industry response was to strip the existing circuit switches off their switching matrix and provide them with the interfaces to control an external packet-based switching matrix in the so-called soft-switch approach. It was kind of throwing out the old-fashioned hardware but retaining the software. That was a pragmatic approach that the market took in order to rapidly respond to the operator’s needs. However, it still took several years for the telecom operators worldwide to implement these architectures. By that time, we knew there was work in the IETF about a protocol called SIP, whose first version was published in 1995, but the main focus of the industry was on H.323 for enterprise networks and in the soft-switch approach for public telecom networks. In the meantime, Internet and the web were increasing their popularity, but this fact seemed, by then, unrelated to our challenge of evolving the network. Being intrigued about the possibility of using a packet-based network for media transport, that was the first time I built an IP soft-phone. I just developed a simple Windows program over the Win32 API on a standard PC. I made up a simple signaling protocol consisting of a bunch of messages and sent them over TCP/IP using the Winsock interface. Regarding the media, I just got the raw voice samples from the Wave API and put them directly on UDP packets that I sent over the network using Winsock. Surprisingly enough, it worked, and I could test it over a medium-sized LAN. I needed no voice network equipment (neither voice switch nor soft-switch), just a dumb IP network and a Windows program that I developed in a few weeks and ran on a cheap PC. The simplicity and the flexibility of the solution convinced me that voice technology as we knew it was meant to change sooner or later, and that the new technology would be one that advocated simplicity in the network and flexibility in the endpoints as well as cheap and off-the-self hardware and software.

In the next years, I changed roles and became manager for a team doing mobile services design and development. By that time, I had already built a new version of my softphone, only that then I used a beta version of a SIP stack, an Internet protocol that was destined to revolutionize multimedia communications both in the Internet and in the telecom environment. As will be explained in this book, SIP follows the flexible Internet approach that advocates moving intelligence to the endpoints and keeping the network as simple as possible.

During that time, I became convinced that understanding, even if it is at a high level, how SIP software works helps to understand its simplicity, flexibility, and potential. And that is the reason why, when years later I decided to write a book on a state-of-the-art approach for multimedia communications, I went for an approach that combined theory with practice. And the result is this book.

Approach

This book’s aim is to let readers understand what Internet multimedia communications are and how they are enabled by using the Session Initiation Protocol and other related technologies. The approach I have taken in writing this book has three main characteristics.

First, it is Internet-orientated. That is, it is focused on the Internet technologies, protocols, and practices for delivering these services. In the last two chapters, it also touches upon how these Internet technologies can be used in controlled network scenarios such as those present in telecom operators’ multimedia networks. In fact, the bodies involved in the standardization of telecom networks, such as ETSI or 3GPP, have adopted the ideas coming from the Internet in order to design the next generation of telecommunication networks.

Second, it follows a fully modern and up-to-date approach where the latest Internet developments are analyzed and discussed. In addition to providing a thorough explanation of the basic concepts, it also presents the most recent proposals for utilization of SIP and related technologies in the remit of multimedia communications. The book tackles new and innovative technologies and services such as MSRP, NAT traversal, STUN, ICE, session border controllers, TCP-based media transport, XCON conferencing framework, media server control, GRUUs, RPID, latest approaches for RTP security, XCAP, Text over IP, remote call control, floor control, conference control, Fax over IP, enhanced identity management, IMS, TISPAN next generation networks, voice call continuity, IMS centralized services, and so forth.

Following a modern approach implies that the book contains not just references to official standard or informative documents (e.g., Request For Comments), but also many references to the latest IETF Internet Drafts that represent current work in progress.

Third, the book is unique in its kind by the fact that it not only contains theory but also practice. The practical nature of the book is twofold. On one hand, the book tackles multimedia service creation, both at SIP level and at media level. It contains a comprehensive description of the state-of-the-art technologies for multimedia service creation. More than that, the book explains in detail how to program multimedia services using Java. Readers will learn how to programmatically use an open-source SIP stack and a popular Java API for media development. Many examples and Java practices are included in the book. Readers are guided step-by-step to build a simple yet functional soft-phone supporting voice, video, and messaging, plus a simple SIP proxy and registrar to be used with the soft-phone. The main purpose for the inclusion of code in the book is derived from my experience when dealing with multimedia technology: being able to take a look, even if you are not a Java programmer, at code that illustrates how services are done facilitates the comprehension of the technical concepts and the simplicity and potential in the technology. Another aspect of the practicality of the book refers to the fact that it also contains explanations of the situations where the different technical solutions may be used in real deployments.

Audience

The book is targeted at several types of audiences. In any case, all readers should have a technical background, an interest in technology, or a passion for Internet-related topics.

First, this book is targeted at the professional in the telecom or IT industry who needs to gain an understanding of the newest Internet Protocol–based technologies for delivering voice, video, messaging, and data services, and to acquire the skills and tools to successfully design and implement multimedia solutions in different environments (from small enterprise deployments up to Internet-wide deployments). IT architects will use the book to understand how their existing enterprise IP networks can be leveraged for delivering voice, video, and messaging, and what technologies the products that they choose must support. Telecom architects will use the book to gain an understanding of how SIP and other Internet technologies can be used to evolve their networks and offer innovative services (or offer existing services but with a reduced CAPEX and OPEX!). SIP related technologies play a key role in the movement into Fixed Mobile Convergence and Total Communication propositions that most telecom operators are embracing nowadays. IT and telecom engineers will find the necessary information in the book to understand how technology works, and will be referred to the appropriate technical documents for further detail. The book is also very useful for IT and telecom managers that want to understand how their business needs to be evolved toward an all-IP infrastructure and what are the benefits and challenges in doing so.

Second, this book is targeted at the academic community, where it can be used as base material for a one-semester theoretical course on Internet multimedia communications or as support material for practices in a laboratory course.

Third, software developers will find in the book the necessary theoretical and practical information that allows them to learn how to build basic SIP applications and sets the grounds for more-complex application design and development.

And last but not least, any person who has a technical background and has a passion for being informed about the hottest stuff around the Internet is also a potential candidate for enjoying the book.

Organization

The book is organized in three parts and 24 chapters.

The first part, “Fundamentals,” comprises the first five chapters in the book. These give the necessary background information on Internet multimedia architecture, protocols, and service creation tools for understanding the rest of the book.

Above all, this first part explains the rationale behind the design of the multimedia protocols and the remit in which they are used. Setting the scope of the technology is crucial for using it successfully.

The second part, “Core Protocols,” is the central part of the book, and is dedicated to explaining how the main protocols work in concert to deliver multimedia services. In order to enhance the comprehension of the theory, the reader is also guided into the elaboration of simple Java-based programming practices that allow him or her to better comprehend the theoretical concepts. As part of these practices, readers will learn to build, step-by-step, a simple yet functional soft-phone supporting voice, video, and messaging. Those readers who are not interested in the programming practice can simply skip the related chapters and just focus on the theory. However, I would recommend that even these readers take a quick look at some of the code snippets so that they can get a high-level understanding of how applications can be developed.

The third part, “Advanced Topics,” deals with the latest and most innovative usages of the technology. Readers who already have professional experience with the technology, either designing or developing solutions, might want to skip the first two parts and dive directly into this part. In addition to tackling the most recent advances in the technology, Part III also shows how hot issues that every multimedia deployment faces are resolved. An example of that is the hot NAT traversal topic, of which a very thorough analysis is done and several possible solutions are detailed.

Additionally, the last two chapters in the book explain how Internet multimedia technology can be used in network scenarios where a tighter relationship with the service provider exists. A paradigmatic example of this concept is the 3GPP IMS, to which a long chapter is exclusively dedicated. The approach used in this book to present the IMS architecture and concepts is very different from the traditional one used by other books on the subject. Instead of first introducing an overwhelming architecture diagram full of unintelligible names and then explaining what the role is of the various components, a different approach is followed. It is based on leveraging the Internet concepts learned throughout the book, and explaining how they naturally evolve to support additional requirements that telecom operators may have, and that are not strictly relevant in a pure Internet environment.

Code Examples

This book does not intend to teach programming. The code examples are included just for the shake of illustrating how the protocols work. Readers can build simple examples where they can test the concepts learned. I have purposely omitted the bulk of error checking and recovery so as not to deviate the reader’s attention from the functional concepts. I am convinced this has resulted in more comprehensive programs that show clearly how protocols operate. On the other hand, it means that programs are not fit for commercial use, and that they need to be fed with consistent data; otherwise, they will fail. Additionally, when I have thought that good OO practice made the functional concepts more difficult to understand, I have preferred to sacrifice perfect OO programming techniques.

Acknowledgments

I wish to thank Rogier Noldus, from Ericsson, and David Page, chief scientist at OpenCloud, for their impressive work in reviewing the manuscript. Their comments and suggestions have greatly contributed to the possible quality of the final product. Also, Nick Hudson, a former colleague at Vodafone, reviewed the manuscript and provided useful feedback. Santiago Borrero, a colleague of mine at Vodafone, reviewed the first introductory chapters and contributed to making the technical concepts in them easier to understand for readers with different backgrounds.

I also want to thank Rick Adams, Greg Chalson and Mónica González de Mendoza, my editors at Elsevier, who believed in the project from the very beginning and who provided timely help and assistance that allowed us to overcome the hurdles encountered during the manuscript delivery process.

My biggest thanks go for my wife, whose encouragement, support, patience, and understanding have been crucial for the successful accomplishment of this project.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.116.67.212