Title: Introduction to SIP
1 Introduction to SIP
- Speaker Min-Hua Yang
- Advisor Ho-Ting Wu
- Date2005/3/29
2Outline
- SIP Overview
- SIP Architecture and Components
- User Agent , Servers
- SIP Messages
- Request, Response and Headers
- Reliability Mechanism
- Summary
3Outline
- SIP Overview
- SIP Architecture and Components
- SIP Messages
- Reliability Mechanism
- Summary
4SIP Overview(1) - History
- SIP ( Session initiation protocol)
- Work began in 1995
- Developed in SIP Working Group in IETF
- Proposed standard RFC2543, February 1999
- New Version of SIP - RFC 3261, June 2002
- Split from MMUSIC (Multiparty Multimedia Session
Control), Sep. 1999
5SIP Overview(2) - Main Functions
- SIP is an application-layer control (signaling)
protocol for - initiating sessions
- Find the users current location
- Carry session descriptions
- Modifying sessions
- Terminating sessions
6SIP Overview(3) - What is a session?
- Refers to an active connection between two
computers for the purpose of communicating and
transferring information - Internet telephone calls
- multimedia conferences
- Instant Messaging
- However its not limited to the above
7SIP Overview(4)
- SIP is similar to HTTP
- both use a request/response model
- both are text-based
- much of SIPs message and header field syntax
is identical to HTTP/1.1. - Works independent of the underlying network
- transmission protocol and indifferent to media
8SIP Overview(5)
- Scalability
- Functionality such as proxying, redirection,
location, or registration can reside in
different physical servers. - Distributed functionality allows new processes
to be added without affecting other components.
9SIP Overview(6)
- Interoperability
- An open standard
- Can implement to communicate with other SIP
based products
10SIP Overview(7)
- Mobility
- The user can be using a PC at work, PC at home
,wireless phone, IP phone, or regular phone. - Users must register/Update their current
location. - Supports user mobility by proxying or redirecting
requests to a users current location. - Proxy servers will forward calls to the users
current location.
11Integration with IETF Protocols
- SIP forms only part of an overall IP telephony
system - Other IETF protocol standards are used to build a
fully functioning VoIP system. - example
- RSVP - to reserve network resources.
- RTP (Real Time Transport Protocol) - to
transport real - time data
- RTSP (Real Time Streaming Protocol) - for
controlling - delivery of streaming media.
- RTCP (Real Time Transport Control Protocol)
provides - information about the quality of the
communication.
12Related Protocols
13SIP Capabilities(1/2)
- Determine location of target points Support
address - resolution, name mapping, call redirection
- Determine media capabilities SIP uses Session
- Description Protocol (SDP) for this
- Determine availability returns a message why
the - remote party cannot be contacted
- Establish a session between end points also
support mid call changes, changes of media
characteristics or codec
14SIP Capabilities(2/2)
- Permits interaction between devices via
- signaling messages
- These messages can
- Register a user with a system
- Invite a user to join an interactive session
- Establish a media stream between 2 or more end
- points
- Terminate a session
15Outline
- SIP Overview
- SIP Architecture and Components
- SIP Messages
- Reliability Mechanism
- Summary
16SIP Network Architecture
17SIP Component User Agent
- User Agent Client (UAC)- Initiate SIP Request
- User Agent Server (UAS)-Accepts or rejects call
- Phones acts as UAC or UAS
- Implemented in Hardware or Software
- Components
- Includes softphones, sip ip phones
18User Agents
19SIP Component Proxy Server
- Heart of SIP network that contains all service
logic. - Receives SIP messages, forwards to next SIP UAS.
- Interprets, rewrites or translates a request
message before forwarding it.
20Scenario with Proxy Server
21SIP Component Redirect Server
- Return routing information to the originating
endpoint. - Does not accept or terminate calls
- Does not initiate its own SIP request
22Scenario with Redirect Server
23SIP Component Registrar
- Accept registration requests from users
- Maintains users whereabouts at a
- Location Server
- Typically co-located with a proxy server
- or a redirect server and may offer
- location services
24Scenario with Registrar
25Invitation for SIP Proxy Server
26Invitation for Redirect Server
27SIP Addressing
- The SIP address is identified by a SIP URL,in the
format user_at_host. - Email-like identifier of the form
- Examples of SIP URLs
- siphostname_at_ntut.edu.tw
- siphostname_at_192.168.10.1
- sip14083831088_at_vovida.org
28Outline
- SIP Overview
- SIP Architecture and Components
- SIP Messages
- Reliability Mechanism
- Summary
29SIP Messages
- The message syntax is identical to
HTTP/1.1(RFC2616). - Two kinds of SIP messages
- SIP-message Request Response
30SIP Messages - Requests
- INVITE Initiates a call by inviting user to
participate in session. - ACK - Confirms that the client has received a
final response to an INVITE request. - BYE - Indicates termination of the call.
- CANCEL - Cancels a pending request.
- REGISTER Registers the user agent.
- OPTIONS Used to query the capabilities of a
server.
31SIP Messages - Responses
- 1xx - Informational Responses
- 180 ringing
- 2xx - Successful Responses
- 200 OK
- 3xx - Redirection Responses
- 302 Moved Temporarily
- 4xx - Request Failure Responses.
- 404 Not Found
- 5xx - Server Failure Responses.
- 503 Service Unavailable
- 6xx - Global Failures Responses.
- 600 Busy Everywhere
- All responses, except for 1XX, are considered
final responses
32Message Headers
- Provide further information about the message
- E.g.,
- To header in an INVITE
- The called party
- From header
- The calling party
- Four main categories
- General, Request, Response, and Entity headers
33Header Fields
- General Header
- Be applied to both request and response
messages - Entity Header
- Define information about the message body
- Request Header
- Allow the client to pass additional information
about - the request
- Response Header
- Allow the server to pass additional information
- about the response
34SIP Headers
35SIP Headers From
- A field required in all requests and response
messages - Provides identity of requests initiator
- Example
- From Laura Brown ltsipLaura.Brown_at_university.comgt
36SIP Headers To
- Provides identity of the intended
- recipient of the request
- Example
- To Bob Johnson ltsipBob.Johnson_at_company.comgt
37SIP Headers Call-ID(1/2)
- Provides a globally unique identifier to
- distinguish specific invitations
- Typically uses a 32-bit cryptographically
- random numbers
- Example
- Call-ID ges456fcdw21lkfgte12ax_at_workstation1234.un
iversity.com
38SIP Headers Call-ID(2/2)
39SIP Headers Contact(1/2)
- A Contact header provides a URL where the user
can be reached directly. - This feature is important because it offloads SIP
servers that do not need to be in the signalling
path after routing the first INVITE. - Example
- Contact Bob JohnsonltsipBob_at_140.124.181.227gt
40SIP Headers Contact(2/2)
41SIP Header - Via
- History of messages path through network(s)
- Helps to prevent looping and ensures
- replies route back to originator
- Indicates the used transport protocol, ip
- address and port of sender
- Via SIP/2.0/UDP 192.168.6.215060
42SIP Header Content-Type
- Provides information about media type of message
body - Content-Type application/sdp
43SIP Header CSeq(1/2)
- CSeq or command sequence
- Needed in both request messages as well
- as response messages
- Need to increment this when a user with the
- same Call-ID wants to send different SIP
- methods or content ( Except ACK and Cancel)
- When sending responses to requests, CSeq
- should be the same
- The numerical part of the Cseq is used to order
different requests within the same session. - CSeq 1 INVITE
44SIP Header CSeq(2/2)
45An example of SIP Request
46An example of SIP Response
47Outline
- SIP Overview
- SIP Architecture and Components
- SIP Messages
- Reliability Mechanism
- Summary
48Reliable Transmission of Responses(1/2)
- Final responses are transmitted reliably between
server and client, using retransmissions or a
reliable transport protocol to ensure delivery. - Provisional responses may either be received by
the client or be lost in the network.
49Reliable Transmission of Responses(2/2)
50Reliable Transmission of Requests(1/2)
51Reliable Transmission of Requests(2/2)
52Outline
- SIP Overview
- SIP Architecture and Components
- SIP Messages
- Reliability Mechanism
- Summary
53Summary
- SIP is gaining acceptance in the industry
- Open Source projects are taking the lead
- in SIP implementations
- New generation of services are already
- being offered
- Staying with single a vender solution is
currently workable - Interoperability between vender products is still
- in early stages
54Reference
- RFC 2543(SIP/1.0)
- RFC 3261(SIP/2.0)
- RFC 2327(SDP)
- Related Material provided by