SIP: Understanding the Session Initiation Protocol, Fourth Edition

Now in its fourth edition, the ground-breaking Artech House bestseller SIP: Understanding the Session Initiation Protocol offers you the most comprehensive and current understanding of this revolutionary protocol for call signaling and IP Telephony. The fourth edition incorporates changes in SIP from the last five years with new chapters on internet threats and attacks, WebRTC and SIP, and substantial updates throughout.

This cutting-edge book shows how SIP provides a highly-scalable and cost-effective way to offer new and exciting telecommunication feature sets, helping practitioners design "next generation" network and develop new applications and software stacks. Other key discussions include SIP as a key component in the Internet multimedia conferencing architecture, request and response messages, devices in a typical network, types of servers, SIP headers, comparisons with existing signaling protocols including H.323, related protocols SDP (Session Description Protocol) and RTP (Real-time Transport Protocol), and the future direction of SIP.

1136506937
SIP: Understanding the Session Initiation Protocol, Fourth Edition

Now in its fourth edition, the ground-breaking Artech House bestseller SIP: Understanding the Session Initiation Protocol offers you the most comprehensive and current understanding of this revolutionary protocol for call signaling and IP Telephony. The fourth edition incorporates changes in SIP from the last five years with new chapters on internet threats and attacks, WebRTC and SIP, and substantial updates throughout.

This cutting-edge book shows how SIP provides a highly-scalable and cost-effective way to offer new and exciting telecommunication feature sets, helping practitioners design "next generation" network and develop new applications and software stacks. Other key discussions include SIP as a key component in the Internet multimedia conferencing architecture, request and response messages, devices in a typical network, types of servers, SIP headers, comparisons with existing signaling protocols including H.323, related protocols SDP (Session Description Protocol) and RTP (Real-time Transport Protocol), and the future direction of SIP.

119.0 In Stock
SIP: Understanding the Session Initiation Protocol, Fourth Edition

SIP: Understanding the Session Initiation Protocol, Fourth Edition

by Alan B. Johnston
SIP: Understanding the Session Initiation Protocol, Fourth Edition

SIP: Understanding the Session Initiation Protocol, Fourth Edition

by Alan B. Johnston

Hardcover(Fourth Edition)

$119.00 
  • SHIP THIS ITEM
    In stock. Ships in 3-7 days. Typically arrives in 3 weeks.
  • PICK UP IN STORE

    Your local store may have stock of this item.

Related collections and offers


Overview

Now in its fourth edition, the ground-breaking Artech House bestseller SIP: Understanding the Session Initiation Protocol offers you the most comprehensive and current understanding of this revolutionary protocol for call signaling and IP Telephony. The fourth edition incorporates changes in SIP from the last five years with new chapters on internet threats and attacks, WebRTC and SIP, and substantial updates throughout.

This cutting-edge book shows how SIP provides a highly-scalable and cost-effective way to offer new and exciting telecommunication feature sets, helping practitioners design "next generation" network and develop new applications and software stacks. Other key discussions include SIP as a key component in the Internet multimedia conferencing architecture, request and response messages, devices in a typical network, types of servers, SIP headers, comparisons with existing signaling protocols including H.323, related protocols SDP (Session Description Protocol) and RTP (Real-time Transport Protocol), and the future direction of SIP.


Product Details

ISBN-13: 9781608078639
Publisher: Artech House, Incorporated
Publication date: 10/31/2015
Edition description: Fourth Edition
Pages: 520
Product dimensions: 6.30(w) x 9.30(h) x 1.40(d)

About the Author

Alan B. Johnston is a consulting member of the technical staff at Avaya Inc. and an adjunct professor of electrical engineering at Washington University in St. Louis. He holds a Ph.D. in electrical engineering from Lehigh University and a B.E. in electrical and electronic engineering from the University of RFC's.

Read an Excerpt


1.SIP and the Internet

The Session Initiation Protocol (SIP) is a new signaling protocol developed to set up, modify, and tear down multimedia sessions over the Internet [1]. This chapter covers some background for the understanding of the protocol. SIP was developed by the Internet Engineering Task Force (IETF) as part of the Internet Multimedia Conferencing Architecture, and was designed to dovetail with other Internet protocols such as TCP, UDP, IP, DNS, and others. This organization and these related protocols will be briefly introduced. Related background topics such as Internet URLs, IP multicast routing, and ABNF representations of protocol messages will also be covered.

1.1 Signaling Protocols

This book is about the Session Initiation Protocol, which is a signaling protocol. As the name implies, the protocol allows two end-points to establish media sessions with each other. The main functions of signaling protocols are as follows:

  • Location of an end-point;
  • Contacting end-point to determine willingness to establish a session;
  • Exchange of media information to allow session to be established;
  • Modification of existing media sessions;
  • Tear-down of existing media sessions.

    The treatment of SIP in this book will be from a telephony perspective. This is likely to be one of the first applications of SIP, but not the only one. SIP will likely be used to establish a whole set of session types that bear almost no resemblance to a telephone call. The basic protocol operation, however, will be the same. As a result, this book will use familiar telephone examples to illustrate concepts.

    1.2 The Internet Engineering Task Force

    SIP was developed by the Internet Engineering Task Force (IETF). To quote The Tao of the IETF [2]: "The Internet Engineering Task Force is a loosely self-organized group of people who make technical and other contributions to the engineering and evolution of the Internet and its technologies." The two document types used within the IETF are Internet-Drafts (I-Ds) and Request for Comments (RFCs). I-Ds are the working documents of the group; anyone can author one on any topic and submit it to the IETF. There is no formal membership in the IETF; anyone can participate. Every I-D contains the following paragraph on the first page: "Internet-Drafts are documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as work in progress."

    Internet standards are archived by the IETF as the Request for Comments, or RFC, series of numbered documents. As changes are made in a protocol, or new versions come out, a new RFC document with a new number is issued, which "obsoletes" the old RFC. Some I-Ds are cited in this book; I have tried, however, to restrict this to mature documents that are likely to become RFCs by the time this book is published. A standard begins life as an I-D, then progresses to an RFC once there is consensus and there are working implementations of the protocol. Anyone with Internet access can download any I-D or RFC at no charge using the World Wide Web, ftp, or e-mail. Information on how to do so is on the IETF web site: http://www.ietf.org.

    The IETF is organized into working groups, which are chartered to work in a particular area and develop a protocol to solve that particular area. Each working group has its own archive and mailing list, which is where most of the work gets done. The IETF also meets three times per year.

    1.3 A Brief History of SIP

    SIP was originally developed by the IETF Multi-Party Multimedia Session Control Working Group, known as MMUSIC. Version 1.0 was submitted as an Internet-Draft in 1997. Significant changes were made to the protocol and resulted in a second version, version 2.0, which was submitted as an Internet-Draft in 1998. The protocol achieved Proposed Standard status in March 1999 and was published as RFC 2543 [3] in April 1999. In September 1999, the SIP working group was established by the IETF to meet the growing interest in the protocol. An Internet-Draft containing bug fixes and clarifications to SIP was submitted in July 2000, referred to as RFC 2543 "bis". This document will be first published as an Internet-Draft then as an RFC with a new RFC number, which will obsolete RFC 2543. To advance from Proposed Standard to Draft Standard, a protocol must have multiple independent interworking implementations and limited operational experience. To this end, forums of interoperability tests, called "bakeoffs," have been organized by the SIP working group. Three interoperabiliry "bakeoffs" took place for SIP in 1999, with more planned for 2000. The final level, Standard, is achieved after operational success has been demonstrated [4]. With the documented interoperabiliry of the bakeoffs, SIP should move to Draft Standard status sometime in early 2001.

    SIP incorporates elements of two widely used Internet protocols: HTTP (Hyper Text Transport Protocol) used for web browsing and SMTP (Simple Mail Transport Protocol) used for e-mail. From HTTP, SIP borrowed a client-server design and the use of uniform resource locators (URLs). From SMTP, SIP borrowed a text-encoding scheme and header style. For example, SIP reuses SMTP headers such as T o, F r o m, u a t e, and s u b j e c t . In keeping with its philosophy of "one problem, one protocol", the IETF designed SIP to be a pure signaling protocol. SIP uses other IETF protocols for transport, media transport, and media description. The interaction of SIP with other Internet protocols such as IP, TCP, UDP, and DNS will be described in the next section.

    1.4 Internet Multimedia Protocol Stack

    Figure 1.1 shows the four-layer Internet Multimedia Protocol stack. The layers shown and protocols identified will be discussed.

    1.4.1 Physical Layer

    The lowest layer is the physical and link layer, which could be an Ethernet local area network (LAN), a telephone line (V.90 or 56k modem) running Point-to-Point Protocol (PPP), or a digital subscriber line (DSL) running asynchronous transport mode (ATM), or even a multi-protocol label switching (MPLS) network. This layer performs such functions as symbol exchange, frame synchronization, and physical interface specification.

    1.4.2 Internet Layer

    The next layer in Figure 1.1 is the Internet layer. Internet Protocol (IP) [5] is used at this layer to route a packet across the network using the destination IP address. IP is a connectionless, best-effort packet delivery protocol. IP packets can be lost, delayed, or received out of sequence. Each packet is routed on its own, using the IP header appended to the physical packet. IP address examples in this book use the current version of IP, Version 4. IPv4 addresses are four octets long, usually written in so-called "dotted decimal" notation (for example, 207.134.3.5). Between each of the dots is a decimal number between 0 and 255. At the IP layer, packets are not acknowledged. A checksum is calculated to detect corruption in the IP header, which could cause a packet to become misrouted. Corruption or errors in the IP payload, however, are not detected; a higher layer must perform this function if necessary. IP uses a single octet protocol number in the packet header to identify the transport layer protocol that should receive the packet. IP addresses used over the public Internet are assigned in blocks by the Internet Assigned

    Number Association (IANA). As a result of this centralized assignment, IP addresses are globally unique. This enables a packet to be routed across the public Internet using only the destination IP address. Various protocols are used to route packets over an IP network, but they are outside of the scope of this book. Subnetting and other aspects of the structure of IP addresses are also not covered here. There are other excellent sources [6] that cover the entire suite of TCP/IP protocols in more detail...

  • Table of Contents

    Forewordxiii
    Prefacevii
    1SIP and the Internet1
    1.1Signaling Protocols1
    1.2The Internet Engineering Task Force2
    1.3A Brief History of SIP3
    1.4Internet Multimedia Protocol Stack3
    1.4.1Physical Layer4
    1.4.2Internet Layer4
    1.4.3Transport Layer5
    1.4.4Application Layer7
    1.5Utility Applications7
    1.6DNS and IP Addresses8
    1.7URLs10
    1.8Multicast10
    1.9ABNF Representation11
    References12
    2Introduction to SIP15
    2.1A Simple SIP Example15
    2.2SIP Call with Proxy Server23
    2.3SIP Registration Example28
    2.4Message Transport30
    2.4.1UDP Transport30
    2.4.2TCP Transport31
    References33
    3SIP Clients and Servers35
    3.1SIP User Agents35
    3.2SIP Gateways36
    3.3SIP Servers39
    3.3.1Proxy Servers39
    3.3.2Redirect Servers42
    3.3.3Registration Servers45
    3.4Acknowledgment of Messages45
    3.5Reliability46
    3.6Authentication47
    3.7Encryption48
    3.8Multicast Support50
    3.9Firewalls and NAT Interaction50
    References52
    4SIP Request Messages53
    4.1Methods53
    4.1.1Invite54
    4.1.2Register57
    4.1.3Bye58
    4.1.4ACK60
    4.1.5Cancel63
    4.1.6Options65
    4.1.7Info66
    4.1.8Prack68
    4.2SIP URLs and URIs70
    4.3Tags72
    4.4Message Bodies73
    References74
    5SIP Response Messages75
    5.1Informational76
    5.1.1100 Trying77
    5.1.2180 Ringing77
    5.1.3181 Call Is Being Forwarded77
    5.1.4182 Call Queued78
    5.1.5183 Session Progress78
    5.2Success 200 OK79
    5.3Redirection80
    5.3.1300 Multiple Choices81
    5.3.2301 Moved Permanently81
    5.3.3302 Moved Temporarily81
    5.3.4305 Use Proxy81
    5.3.5380 Alternative Service82
    5.4Client Error82
    5.4.1400 Bad Request82
    5.4.2401 Unauthorized82
    5.4.3402 Payment Required83
    5.4.4403 Forbidden83
    5.4.5404 Not Found83
    5.4.6405 Method Not Allowed83
    5.4.7406 Not Acceptable84
    5.4.8407 Proxy Authentication Required84
    5.4.9408 Request Timeout84
    5.4.10409 Conflict84
    5.4.11410 Gone85
    5.4.12411 Length Required85
    5.4.13413 Request Entity Too Large85
    5.4.14414 Request-URI Too Long85
    5.4.15415 Unsupported Media Type85
    5.4.16420 Bad Extension85
    5.4.17421 Extension Required86
    5.4.18480 Temporarily Unavailable86
    5.4.19481 Call Leg/Transaction Does Not Exist86
    5.4.20482 Loop Detected86
    5.4.21483 Too Many Hops87
    5.4.22484 Address Incomplete87
    5.4.23485 Ambiguous88
    5.4.24486 Busy Here89
    5.4.25487 Request Canceled89
    5.4.26488 Not Acceptable Here89
    5.5Server Error89
    5.5.1500 Server Internal Error90
    5.5.2501 Not Implemented90
    5.5.3502 Bad Gateway90
    5.5.4503 Service Unavailable90
    5.5.5504 Gateway Timeout90
    5.5.6505 Version Not Supported90
    5.6Global Error91
    5.6.1600 Busy Everywhere91
    5.6.2603 Decline91
    5.6.3604 Does Not Exist Anywhere91
    5.6.4606 Not Acceptable91
    References92
    6SIP Headers93
    6.1General Headers93
    6.1.1Call-ID94
    6.1.2Contact95
    6.1.3CSeq96
    6.1.4Date98
    6.1.5Encryption98
    6.1.6From99
    6.1.7Organization99
    6.1.8Retry-After100
    6.1.9Subject100
    6.1.10Supported101
    6.1.11Timestamp101
    6.1.12To101
    6.1.13User Agent102
    6.1.14Via102
    6.2Request Headers104
    6.2.1Accept104
    6.2.2Accept-Contact105
    6.2.3Accept-Encoding106
    6.2.4Accept-Language106
    6.2.5Authorization107
    6.2.6Hide107
    6.2.7In-Reply-To108
    6.2.8Max-Forwards108
    6.2.9Priority108
    6.2.10Proxy-Authorization109
    6.2.11Proxy-Require110
    6.2.12Record-Route110
    6.2.13Reject-Contact111
    6.2.14Request-Disposition111
    6.2.15Require111
    6.2.16Response-Key112
    6.2.17Route112
    6.2.18RAck112
    6.2.19Session-Expires112
    6.3Response Headers113
    6.3.1Proxy-Authenticate113
    6.3.2Server113
    6.3.3Unsupported113
    6.3.4Warning114
    6.3.5WWW-Authenticate114
    6.3.6RSeq116
    6.4Entity Headers116
    6.4.1Allow117
    6.4.2Content-Encoding117
    6.4.3Content-Disposition117
    6.4.4Content-Length117
    6.4.5Content-Type118
    6.4.6Expires118
    6.4.7Mime-Version119
    References119
    7Related Protocols121
    7.1SDP--Session Description Protocol121
    7.1.1Protocol Version124
    7.1.2Origin124
    7.1.3Session Name and Information124
    7.1.4URI124
    7.1.5E-mail Address and Phone Number124
    7.1.6Connection Data125
    7.1.7Bandwidth125
    7.1.8Time, Repeat Times, and Time Zones125
    7.1.9Encryption Keys126
    7.1.10Media Announcements126
    7.1.11Attributes127
    7.1.12Use of SDP in SIP127
    7.2RTP--Real-time Transport Protocol130
    7.3RTP Audio Video Profiles133
    7.4PSTN Protocols135
    7.4.1Circuit Associated Signaling135
    7.4.2ISUP Signaling135
    7.4.3ISDN Signaling135
    References136
    8Comparison to H.323137
    8.1Introduction to H.323137
    8.2Example of H.323139
    8.3Versions144
    8.4Comparison144
    8.4.1Encoding145
    8.4.2Transport147
    8.4.3Addressing148
    8.4.4Complexity148
    8.4.5Feature Implementations149
    8.4.6Vendor Support149
    8.4.7Conferencing149
    8.4.8Extensibility150
    8.5Comparison Summary151
    References151
    9Call Flow Examples153
    9.1SIP Call with Authentication, Proxies, and Record-Route153
    9.2SIP Call with Stateless and Stateful Proxies with Called Party Busy161
    9.3SIP to PSTN Call Through Gateway164
    9.4PSTN to SIP Call Through Gateway169
    9.5Parallel Search172
    9.6H.323 to SIP Call177
    References183
    10Future Directions185
    10.1Changes to RFC 2543185
    10.2SIP Working Group Design Teams186
    10.2.1Call Control187
    10.2.2Convergence with PacketCable Distributed Call Signaling (DCS) Extensions188
    10.2.3Call Flows188
    10.2.4SIP/H.323 Interworking188
    10.2.5Home Extension188
    10.2.6SIP Security188
    10.2.7SIP for Telephony189
    10.3Other Related Drafts189
    References189
    About the Author191
    Index193
    From the B&N Reads Blog

    Customer Reviews