ENTERPRISE

Exchange Server 2010 : SIP Protocol

2/26/2011 9:01:58 AM
Session Initiation Protocol (SIP) is an Application-layer signaling protocol for creating, modifying, and terminating sessions with one or more participants.

Given the importance of SIP in the Exchange Server 2010 unified messaging system, it is important to understand the protocol in some detail. This assists in troubleshooting integration problems between the Unified Messaging server and the IP/VoIP gateway, which is a frequent source of problems.

SIP Terminology

SIP uses specific terminology to define the elements and devices in a SIP call. Table 1 lists the various SIP terms and definitions.

Table 1. SIP Terminology
TermDescription
MethodsSIP commands and messages.
Result codesResponses to SIP methods indicating success, failure, or other information.
User AgentEndpoint devices that can issue or respond to SIP protocol methods (such as the UM server or IP gateway).
User Agent ClientDevices such as phones or PDAs.
ServerAn application that can accept or respond to SIP methods (for example a UM server).
GatewayA gateway that can convert SIP methods and result codes to another protocol (for example an IP gateway).
Proxy serverA server that can make requests on behalf of other clients.

SIP Methods

SIP uses a number of commands or methods within the protocol. Table 2 lists the methods that SIP uses.

Table 2. SIP Methods
MethodDescription
REGISTERRegisters a user with a registrar.
INVITESession setup request or media negotiation. Used also to hold and retrieve calls.
CANCELUsed to cancel an in-progress transaction.
ACKAcknowledgement for an INVITE transaction.
BYETerminates a session.
OPTIONSUsed for the remote device status and capabilities.
INFOUsed for mid-call signaling information exchange.
SUBSCRIBERequest notification of call events.
NOTIFYEvent notification after a subscription.
REFERCall transfer request.

This table can be useful when doing a protocol trace of a SIP session to determine what the session is doing.

SIP Response Codes

SIP uses a number of response codes, both informational and error related. Table 3 lists the response codes that SIP uses.

Table 3. SIP Response Codes
Response CodeDescription
100Trying
180Ringing
181Call is being forwarded
182Call is being queued
183Session progress
200OK
302Moved temporarily, forward call to a given contact
305Use proxy: repeat same call setup using a given proxy
400Bad Request
401Unauthorized Request
404Not Found
408Request Timeout
486Busy
5xxServer Failure
6xxGlobal Failure

Basic Call Example

The SIP protocol is used to set up calls between and then hands the communication over to the RTP protocol. A basic call sequence for a SIP call setup and teardown in unified messaging looks like the example in Table 4.

Table 4. Basic SIP Call Example
IP GatewayDirectionUM Server
INVITE——> 
 <——180 Ringing
 <——200 OK
ACK——> 
RTP<——>RTP
 <——BYE
200 OK——> 

Notice that after the IP Gateway sends a SIP ACK method back to the Unified Messaging server, the call is handed off to the RTP protocol. After the call is complete, the Unified Messaging server sends a SIP BYE method to terminate the communication.

Other  
  •  Exchange Server 2010 : Unified Messaging Shell Commands
  •  Exchange Server 2010 : Monitoring and Troubleshooting Unified Messaging
  •  Microsoft Content Management Server Development : Managing Channels and Postings with the PAPI - Moving Postings
  •  Microsoft Content Management Server Development : Managing Channels and Postings with the PAPI - Copying Postings
  •  Hosting a Multi-Tenant Application on Windows Azure : Selecting a Single-Tenant or Multi-Tenant Architecture
  •  SharePoint 2010 :Implementing a Partner Extranet Solution (part 2) - Configuring Authentication Providers
  •  SharePoint 2010 :Implementing a Partner Extranet Solution (part 1) - Creating the Extranet Web Application & Creating an Extranet Site Collection
  •  SharePoint 2010 : Implementing Authentication Scenarios
  •  Designing and Configuring Unified Messaging in Exchange Server 2010 : Unified Messaging Installation (part 3)
  •  Designing and Configuring Unified Messaging in Exchange Server 2010 : Unified Messaging Installation (part 2)
  •  Designing and Configuring Unified Messaging in Exchange Server 2010 : Unified Messaging Installation (part 1)
  •  Hosting a Multi-Tenant Application on Windows Azure : Single-Tenant vs. Multi-Tenant & Multi-Tenancy Architecture in Azure
  •  Understanding SharePoint 2010 Extranet Security
  •  Sharepoint 2010 : Outlining Common Extranet Scenarios and Topologies
  •  Sharepoint 2010 : Virtual Machine Management with System Center Virtual Machine Manager
  •  Designing and Configuring Unified Messaging in Exchange Server 2010 : Unified Messaging Architecture (part 3)
  •  Designing and Configuring Unified Messaging in Exchange Server 2010 : Unified Messaging Architecture (part 2)
  •  Designing and Configuring Unified Messaging in Exchange Server 2010 : Unified Messaging Architecture (part 1)
  •  Designing and Configuring Unified Messaging in Exchange Server 2010 : Unified Messaging Features
  •  Exploring Sample Virtualized SharePoint 2010 Architecture
  •  
    Video
    Top 10
    Nikon 1 J2 With Stylish Design And Dependable Image And Video Quality
    Canon Powershot D20 - Super-Durable Waterproof Camera
    Fujifilm Finepix F800EXR – Another Excellent EXR
    Sony NEX-6 – The Best Compact Camera
    Teufel Cubycon 2 – An Excellent All-In-One For Films
    Dell S2740L - A Beautifully Crafted 27-inch IPS Monitor
    Philips 55PFL6007T With Fantastic Picture Quality
    Philips Gioco 278G4 – An Excellent 27-inch Screen
    Sony VPL-HW50ES – Sony’s Best Home Cinema Projector
    Windows Vista : Installing and Running Applications - Launching Applications
    Most View
    Bamboo Splash - Powerful Specs And Friendly Interface
    Powered By Windows (Part 2) - Toshiba Satellite U840 Series, Philips E248C3 MODA Lightframe Monitor & HP Envy Spectre 14
    MSI X79A-GD65 8D - Power without the Cost
    Canon EOS M With Wonderful Touchscreen Interface (Part 1)
    Windows Server 2003 : Building an Active Directory Structure (part 1) - The First Domain
    Personalize Your iPhone Case
    Speed ​​up browsing with a faster DNS
    Using and Configuring Public Folder Sharing
    Extending the Real-Time Communications Functionality of Exchange Server 2007 : Installing OCS 2007 (part 1)
    Google, privacy & you (Part 1)
    iPhone Application Development : Making Multivalue Choices with Pickers - Understanding Pickers
    Microsoft Surface With Windows RT - Truly A Unique Tablet
    Network Configuration & Troubleshooting (Part 1)
    Panasonic Lumix GH3 – The Fastest Touchscreen-Camera (Part 2)
    Programming Microsoft SQL Server 2005 : FOR XML Commands (part 3) - OPENXML Enhancements in SQL Server 2005
    Exchange Server 2010 : Track Exchange Performance (part 2) - Test the Performance Limitations in a Lab
    Extra Network Hardware Round-Up (Part 2) - NAS Drives, Media Center Extenders & Games Consoles
    Windows Server 2003 : Planning a Host Name Resolution Strategy - Understanding Name Resolution Requirements
    Google’s Data Liberation Front (Part 2)
    Datacolor SpyderLensCal (Part 1)