Feedback
|
Table Of Contents
How SIP Works with a Proxy Server
How SIP Works with a Redirect Server
SIP Gateway-to-SIP Gateway—Call Setup and Disconnect
SIP Gateway-to-SIP Gateway—Call via SIP Redirect Server
SIP Gateway-to-SIP Gateway—Call via SIP Proxy Server
Overview of SIP
This chapter provides an overview of the Session Initiation Protocol (SIP).
Contents
•
How SIP Works with a Proxy Server
•
How SIP Works with a Redirect Server
Information About SIP
Session Initiation Protocol (SIP) is an ASCII-based, application-layer control protocol that can be used to establish, maintain, and terminate calls between two or more endpoints. SIP is an alternative protocol developed by the Internet Engineering Task Force (IETF) for multimedia conferencing over IP. SIP features are compliant with IETF RFC 2543, SIP: Session Initiation Protocol, published in March 1999.
The Cisco SIP implementation enables supported Cisco platforms to signal the setup of voice and multimedia calls over IP networks.
Like other VoIP protocols, SIP is designed to address the functions of signaling and session management within a packet telephony network. Signaling allows call information to be carried across network boundaries. Session management provides the ability to control the attributes of an end-to-end call.
SIP Capabilities
SIP provides the following capabilities:
•
Determines the location of the target endpoint—SIP supports address resolution, name mapping, and call redirection.
•
Determines the media capabilities of the target endpoint—SIP determines the lowest level of common services between the endpoints through Session Description Protocol (SDP). Conferences are established using only the media capabilities that can be supported by all endpoints.
•
Determines the availability of the target endpoint—If a call cannot be completed because the target endpoint is unavailable, SIP determines whether the called party is connected to a call already or did not answer in the allotted number of rings. SIP then returns a message indicating why the target endpoint was unavailable.
•
Establishes a session between the originating and target endpoints—If the call can be completed, SIP establishes a session between the endpoints. SIP also supports midcall changes, such as the addition of another endpoint to the conference or the changing of a media characteristic or codec.
•
Handles the transfer and termination of calls—SIP supports the transfer of calls from one endpoint to another. During a call transfer, SIP simply establishes a session between the transferee and a new endpoint (specified by the transferring party) and terminates the session between the transferee and the transferring party. At the end of a call, SIP terminates the sessions among all parties.
Note
The term "conference" describes an established session (or call) between two or more endpoints. Conferences consist of two or more users and can be established using multicast or multiple unicast sessions.
SIP Components
SIP is a peer-to-peer protocol. The peers in a session are called user agents (UAs). A UA can function in one of the following roles:
•
User-agent client (UAC)—A client application that initiates the SIP request.
•
User-agent server (UAS)—A server application that contacts the user when a SIP request is received and that returns a response on behalf of the user.
Typically, a SIP endpoint is capable of functioning as both a UAC and a UAS, but functions only as one or the other per transaction. Whether the endpoint functions as a UAC or a UAS depends on the user agent that initiated the request.
From an architectural standpoint, the physical components of a SIP network can be grouped into two categories: clients (endpoints) and servers. Figure 1 illustrates the architecture of a SIP network.
Note
In addition, the SIP servers can interact with other application services, such as Lightweight Directory Access Protocol (LDAP) servers, location servers, a database application, or an extensible markup language (XML) application. These application services provide back-end services, such as directory, authentication, and billing services.
Figure 1 SIP Architecture
SIP Clients
•
Phones—Can act as either UAS or UAC.
–
Softphones (PCs that have phone capabilities installed) and Cisco SIP IP phones can initiate SIP requests and respond to requests.
–
ephones—IP phones that are not configured on the gateway.
•
Gateways—Provide call control. Gateways provide many services, the most common being a translation function between SIP conferencing endpoints and other terminal types. This function includes translation between transmission formats and between communications procedures. In addition, the gateway translates between audio and video codecs and performs call setup and clearing on both the LAN side and the switched-circuit network side.
SIP Servers
•
Proxy server—Receives SIP requests from a client and forwards them on the client's behalf. Basically, proxy servers receive SIP messages and forward them to the next SIP server in the network. Proxy servers can provide functions such as authentication, authorization, network access control, routing, reliable request retransmission, and security.
•
Redirect server—Provides the client with information about the next hop or hops that a message should take and then the client contacts the next-hop server or UAS directly.
•
Registrar server—Processes requests from UACs for registration of their current location. Registrar servers are often co-located with a redirect or proxy server.
How SIP Works
SIP is a simple, ASCII-based protocol that uses requests and responses to establish communication among the various components in the network and to ultimately establish a conference between two or more endpoints.
Users in a SIP network are identified by unique SIP addresses. A SIP address is similar to an e-mail address and is in the format of sip:userID@gateway.com. The user ID can be either a user name or an E.164 address. The gateway can be either a domain (with or without a hostname) or a specific internet IP address.
Note
An E.164 address is a telephone number with a string of decimal digits that uniquely indicates the public network termination point. Thus number contains all information necessary to route the call to this termination point.
Users register with a registrar server using their assigned SIP addresses. The registrar server provides this information to the location server upon request.
When a user initiates a call, a SIP request is sent to a SIP server (either a proxy or a redirect server). The request includes the address of the caller (in the From header field) and the address of the intended called party (in the To header field).
Over time, a SIP end user might move between end systems. The location of the end user can be dynamically registered with the SIP server. The location server can use one or more protocols (including finger, rwhois, and LDAP) to locate the end user. Because the end user can be logged in at more than one station and because the location server can sometimes have inaccurate information, it might return more than one address for the end user. If the request is coming through a SIP proxy server, the proxy server tries each of the returned addresses until it locates the end user. If the request is coming through a SIP redirect server, the redirect server forwards all the addresses to the caller in the Contact header field of the invitation response.
How SIP Works with a Proxy Server
When communicating through a proxy server, the caller UA sends an INVITE request to the proxy server and then the proxy server determines the path and forwards the request to the called party (see Figure 2).
Figure 2 SIP INVITE Request Through a Proxy Server
The called UA responds to the proxy server, which then forwards the response to the caller (see Figure 3).
Figure 3 SIP Response Through a Proxy Server
When both parties respond with an acknowledgement (SIP ACK message), the proxy server forwards the acknowledgments to their intended party and a session, or conference, is established between them. The Real-time Transfer Protocol (RTP) is then used for communication across the connection now established between the caller and called UA (see Figure 4).
Figure 4 SIP Session Through a Proxy Server
How SIP Works with a Redirect Server
When communicating through a redirect server, the caller UA sends a SIP INVITE request to the redirect server and then the redirect contacts the location server to determine the path to the called party and sends that information back to the caller UA. The caller UA then acknowledges receipt of the information (see Figure 5).
Figure 5 SIP INVITE Through a Redirect Server
The caller UA then sends a SIP INVITE request directly to the device indicated in the redirect information, bypassing the redirect server. (The target device at this stage could be either the called UA itself or a proxy server that will forward the request.) Once the request reaches the called UA, the called UA sends a response and, if it is a SIP 200 OK message, the caller UA responds with a SIP ACK message to acknowledge 200 OK response. A session is then established between the two endpoints using RTP for communication between the caller and called UAs (see Figure 6).
Figure 6 SIP Session Through a Redirect Server
SIP Call Flows
This topic describes call flows for the following scenarios, which illustrate successful calls:
•
SIP Gateway-to-SIP Gateway—Call Setup and Disconnect
•
SIP Gateway-to-SIP Gateway—Call via SIP Redirect Server
•
SIP Gateway-to-SIP Gateway—Call via SIP Proxy Server
SIP Gateway-to-SIP Gateway—Call Setup and Disconnect
Figure 7 shows a successful gateway-to-gateway call setup and disconnect. The two end users are User A and User B. User A is located at PBX A, which is connected to SIP gateway 1 via a T1/E1. User B is located at PBX B, which is connected to SIP gateway 2 via a T1/E1. User B's phone number is 555-0100. SIP gateway 1 is connected to SIP gateway 2 over an IP network.
The call flow scenario is as follows:
1.
User A calls User B.
2.
User B answers the call.
3.
User B hangs up.
Figure 7 SIP Gateway-to-SIP Gateway—Call Setup and Disconnect
Note
RFC 2543-bis-04 requires that a UAS that receives a BYE request first send a response to any pending requests for that call before disconnecting. After receiving a BYE request, the UAS should respond with a 487 (Request Cancelled) status message.
The following processes occur in Figure 7.
SIP Gateway-to-SIP Gateway—Call via SIP Redirect Server
Figure 8 shows a successful gateway-to-gateway call setup and disconnect via a SIP redirect server. In this scenario, the two end users are identified as User A and User B. User A is located at PBX A. PBX A is connected to SIP gateway 1 via a T1/E1. SIP gateway 1 is using a SIP redirect server. User B is located at PBX B. PBX B is connected to SIP gateway 2 via a T1/E1. User B's phone number is 555-0100. SIP gateway 1 is connected to SIP gateway 2 over an IP network.
The call flow scenario is as follows:
1.
User A calls User B through the SIP gateway 1 using a SIP redirect server.
2.
User B answers the call.
3.
User B hangs up.
Figure 8 SIP Gateway-to-SIP Gateway—Call via SIP Redirect Server
The following processes occur in Figure 8.
SIP Gateway-to-SIP Gateway—Call via SIP Proxy Server
Figure 9 and Figure 10 show a successful gateway-to-gateway call setup and disconnect via a proxy server. The two end users are User A and User B. User A is located at PBX A, which is connected to SIP gateway 1 via a T1/E1. SIP gateway 1 is using a proxy server. SIP gateway 1 is connected to SIP gateway 2 over an IP network. User B is located at PBX B, which is connected to SIP gateway 2 (a SIP gateway) via a T1/E1. User B's phone number is 555-0100.
Note
The Record-Route header field is inserted by proxies in a request to force future requests in the dialog to be routed through the proxy.
In Figure 9, the record route feature is enabled on the proxy server. In Figure 10, record route is disabled on the proxy server.
When record route is enabled, the proxy server adds the Record-Route header to the SIP messages to ensure that it is in the path of subsequent SIP requests for the same call leg. The Record-Route field contains a globally reachable Request-URI that identifies the proxy server. When record route is enabled, each proxy server adds its Request-URI to the beginning of the list.
When record route is disabled, SIP messages flow directly through the SIP gateways once a call has been established.
The call flow is as follows:
1.
User A calls User B via SIP gateway 1 using a proxy server.
2.
User B answers the call.
3.
User B hangs up.
Figure 9 SIP Gateway-to-SIP Gateway—Call via SIP Proxy Server with Record Route Enabled
The following processes occur in Figure 9.
Figure 10 SIP Gateway-to-SIP Gateway—Call via a Proxy Server with Record Route Disabled
The following processes occur in Figure 10.
Additional References
The following sections provide references related to SIP.
Note
•
In addition to the references listed below, each chapter provides additional references related to SIP.
•
Some of the products and services mentioned in this guide may have reached end of life, end of sale, or both. Details are available at http://www.cisco.com/en/US/products/prod_end_of_life.html.
Related Documents
Related Topic Document TitleBasic router configuration
•
Cisco 2600 series documentation at http://www.cisco.com/univercd/cc/td/doc/product/access/acs_mod/cis2600/index.htm
•
Cisco 3600 series documentation at http://www.cisco.com/univercd/cc/td/doc/product/access/acs_mod/cis3600/index.htm
•
Cisco 3700 series documentation at http://www.cisco.com/univercd/cc/td/doc/product/access/acs_mod/cis3700/index.htm
•
Cisco AS5300 documentation at http://www.cisco.com/univercd/cc/td/doc/product/access/acs_serv/5300/index.htm
Cisco IOS command references
•
Cisco IOS Debug Command Reference, Release 12.3T at http://www.cisco.com/univercd/cc/td/doc/product/software/ios123/123tcr/123dbr/index.htm
•
Cisco IOS Voice Command Reference, Release 12.3T at http://www.cisco.com/univercd/cc/td/doc/product/software/ios123/123tcr/123tvr/index.htm
Cisco IOS configuration fundamentals and examples
•
Cisco IOS Configuration Fundamentals Configuration Guide at http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/ffun_c/
•
Cisco IOS Interface Command Reference at http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/finter_r/index.htm
•
Cisco IOS Interface Configuration Guide at http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/finter_c/
•
Cisco IOS Voice, Video, and Fax Configuration Guide, Release 12.2 at http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fvvfax_c/index.htm
•
Cisco Systems Technologies website at http://cisco.com/en/US/tech/index.html
From the website, select a technology category and subsequent hierarchy of subcategories, then click Technical Documentation > Configuration Examples.
Cisco IOS Voice Configuration Library, including library preface and glossary
•
Cisco IOS Voice Configuration Library at http://www.cisco.com/en/US/docs/ios/12_3/vvf_c/cisco_ios_voice_configuration_library_glossary/vcl.htm
Developer support
•
Developer Support Agreement at http://www.cisco.com/go/developersupport
IVR script information
•
TCL IVR API 2.0 Programming Guide at http://www.cisco.com/univercd/cc/td/doc/product/access/acs_serv/vapp_dev/tclivrv2/index.htm
NAT configuration
•
Configuring Network Address Translation: Getting Started at http://www.cisco.com/warp/public/556/12.htm
SIP documents
•
Cisco SIP proxy server documents at http://www.cisco.com/univercd/cc/td/doc/product/voice/sipproxy/index.htm
•
Guide to Cisco Systems' VoIP Infrastructure Solution for SIP at http://www.cisco.com/univercd/cc/td/doc/product/voice/sipsols/biggulp/index.htm
•
Session Initiation Protocol Gateway Call Flows at http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/rel_docs/sip_flo/index.htm
SS7 for voice gateways
•
Configuring Media Gateways for the SS7 Interconnect for Voice Gateways Solution at http://www.cisco.com/univercd/cc/td/doc/product/access/sc/rel7/soln/das22/gateway/dascfg5.htm
Tcl IVR programming
•
Tcl IVR API Version 2.0 Programmer's Guide at http://www.cisco.com/univercd/cc/td/doc/product/access/acs_serv/vapp_dev/tclivrv2/index.htm
Troubleshooting
•
Cisco IOS Debug Command Reference, Release 12.3T at http://www.cisco.com/univercd/cc/td/doc/product/software/ios123/123tcr/123dbr/index.htm
•
Cisco IOS Voice Troubleshooting and Monitoring Guide at http://www.cisco.com/univercd/cc/td/doc/product/software/ios123/123cgcr/vvfax_c/voipt_c/index.htm
•
Internetwork Troubleshooting Guide at http://www.cisco.com/univercd/cc/td/doc/cisintwk/itg_v1/index.htm
•
Troubleshooting and Debugging VoIP Call Basics at http://www.cisco.com/warp/public/788/voip/voip_debugcalls.html
•
Voice over IP Troubleshooting and Monitoring at http://cisco.com/univercd/cc/td/doc/product/software/ios123/123cgcr/vvfax_c/voipt_c/index.htm
•
VoIP Debug Commands at http://www.cisco.com/univercd/cc/td/doc/product/access/acs_mod/1700/1750/1750voip/debug.htm
VoATM configuration
•
Configuring AAL2 and AAL5 for the High-Performance Advanced Integration Module on the Cisco 2600 Series at http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122newft/122limit/122x/122xa/122xa_2/ft_ataim.htm
VoIP configuration
•
Voice over IP for the Cisco 2600/3600 Series at http://www.cisco.com/univercd/cc/td/doc/product/access/nubuvoip/voip3600/index.htm
•
Voice over IP for the Cisco AS5300 at http://www.cisco.com/univercd/cc/td/doc/product/access/nubuvoip/voip5300/index.htm
•
Voice over IP for the Cisco AS5800 at http://www.cisco.com/univercd/cc/td/doc/product/access/nubuvoip/voip5800/index.htm
VSA information
•
RADIUS Vendor-Specific Attributes Voice Implementation Guide at http://www.cisco.com/univercd/cc/td/doc/product/access/acs_serv/vapp_dev/vsaig3.htm
WAN configuration
•
Cisco IOS Wide-Area Networking Command Reference at http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fwan_r/index.htm
•
Cisco IOS Wide-Area Networking Configuration Guide at http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fwan_c/wcfatm.htm
Other documents
Cisco Internetworking Terms and Acronyms at http://www.cisco.com/univercd/cc/td/doc/cisintwk/ita/
Cisco Resource Policy Management System 2.0 at http://www.cisco.com/univercd/cc/td/doc/product/access/acs_soft/rpms/rpms_2-0/
VoIP Call Admission Control at http://www.cisco.com/univercd/cc/td/doc/cisintwk/intsolns/voipsol/cac.htm
Standards
Standards1 TitleANSI TI.619/a
ISDN Multi-Level Precedence and Preemption (MLPP) Service Capability
draft-ietf-avt-profile-new-12.txt
RTP Profile for Audio and Video Conferences with Minimal Control
draft-ietf-avt-rtp-cn-06.txt
RTP Payload for Comfort Noise, Internet Draft of the Internet Engineering Task Force (IETF) Audio/Video Transport (AVT) working group
draft-ietf-avt-rtp-mime-06.txt
MIME Type Registration of RTP Payload Formats
draft-ietf-mmusic-sdp-comedia-04.txt
Connection-Oriented Media Transport in SDP
draft-ietf-sipping-reason-header-for-preemption-00
Extending the SIP for Preemption Events
draft-ietf-sip-privacy-02
SIP Extensions for Caller Identity and Privacy
draft-ietf-sip-resource-priority-05
Communications Resources Priority for SIP
draft-levy-diversion-06.txt
[Sip] verification of diversion header (draft-levy)
GR-268-CORE
ISDN Basic Rate Interface Call Control Switching and Signalling Generic Requirements
1 Not all supported standards are listed.
MIBs
MIBs MIBs LinkCISCO-SIP-UA-MIB
To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL:
RFCs
RFC1 Title•
RFC 1889
(obsoleted by RFC 3550 in July 2003)•
RFC 2052
(obsoleted by RFC 2782 in Feb. 2000)•
RFC 2543 (and RFC 2543-bis-04)
(obsoleted by RFCs 3261, 3262, 3263, 3264, and 3265 in June 2002)•
RFC 2617
•
RFC 2782
(replaced RFC 2052 in Feb. 2000)•
RFC 2806
•
RFC 2833
(obsoleted by RFCs 4733 and 4734 in Dec. 2006)RTP Payload for DTMF Digits, Telephony Tones and Telephony Signals
•
RFC 2976
•
RFC 3261
(replaced RFC 2543 in June 2002 and updated by RFCs 3853 (July 2004) and 4320 (Jan. 2006))•
RFC 3262
(replaced RFC 2543 in June 2002)Reliability of Provisional Responses in Session Initiation Protocol (SIP)
•
RFC 3263
(replaced RFC 2543 in June 2002)•
RFC 3264
(replaced RFC 2543 in June 2002)An Offer/Answer Model with Session Description Protocol (SDP)
•
RFC 3265
(replaced RFC 2543 in June 2002)Session Initiation Protocol (SIP)-Specific Event Notification
•
RFC 3311
•
RFC 3312
(updated by RFC 4032 in March 2005)Integration of Resource Management and Session Initiation Protocol (SIP)
•
RFC 3326
•
RFC 3420
•
RFC 3515
•
RFC 3550
(replaced RFC 1889 in July 2003)•
RFC 3853
(updated RFC 3261 in July 2004)S/MIME Advanced Encryption Standard (AES) Requirement for the Session Initiation Protocol (SIP)
•
RFC 4032
(updated RFC 3312 in March 2005)Update to the Session Initiation Protocol (SIP) Preconditions Framework
•
RFC 4320
(updated RFC 3261 in July 2004)•
RFC 4733
(replaced RFC 2833 and
was updated by RFC 4734 in Dec. 2006)RTP Payload for DTMF Digits, Telephony Tones, and Telephony Signals
•
RFC 4734
(replaced RFC 2833 and updated RFC 4733
in Dec. 2006)Definition of Events for Modem, Fax, and Text Telephony Signals
1 Not all supported RFCs are listed.
Technical Assistance
Any Internet Protocol (IP) addresses used in this document are not intended to be actual addresses. Any examples, command display output, and figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses in illustrative content is unintentional and coincidental.
© 2007 Cisco Systems, Inc. All rights reserved.
Feedback










