Title: Session Initiation Protocol SIP
1Session Initiation Protocol (SIP)
2Introduction
- A powerful alternative to H.323
- More flexible, simpler
- Easier to implement
- Advanced features
- Better suited to the support of intelligent user
devices - A part of IETF multimedia data and control
architecture - SDP, RTSP (Real-Time Streaming Protocol), SAP
(Session Announcement Protocol)
3The Popularity of SIP
- Originally Developed in the MMUSIC
- A separate SIP working group
- RFC 2543
- Many developers
- SIP MGCP/MEGACO
- The VoIP signaling in the future
- back-off
- Test products against each other
- Will be hosted by ETSI
4SIP Architecture
- A signaling protocol
- The setup, modification, and tear-down of
multimedia sessions - SIP SDP
- Describe the session characteristics
- Separate signaling and media streams
5SIP Network Entities
- Clients
- User agent clients
- Application programs sending SIP requests
- Servers
- Responds to clients requests
- Clients and servers may be in the same platform
- Proxy
- Acts as both clients and servers
6- Four types of servers
- Proxy servers
- Handle requests or forward requests to other
servers - Can be used for call forwarding
7- Redirect servers
- Map the destination address to zero or more new
addresses - Do not initiate any SIP requests
8- A user agent server
- Accept SIP requests and contacts the user
- The user responds ? an SIP response
- A SIP device
- E.g., an SIP-enabled telephone
- A registrar
- Accepts SIP REGISTER requests
- Indicating the user is at a particular address
- Typically combined with a proxy or redirect
server
9SIP Call Establishment
- It is simple
- A number of interim responses
10SIP Advantages
- Attempt to keep the signaling as simple as
possible - Various pieces of information can be included
within the messages - Including non-standard information
- Enable the users to make intelligent decisions
- The user has control of call handling
- No need to subscribe call features
11- Call Completion to Busy Subscriber service
12Overview of SIP Messaging Syntax
- Text-based
- Similar to HTTP
- SIP messages
- message start-line
- message-header CRLF
- message-body
- start-line request-line status-line
- Request-line specifies the type of request
- The response line
- The success or failure of a given request
13- Message headers
- Additional information of the request or response
- E.g.,
- The originator and recipient
- Retry-after header
- Subject header
- Message body
- Describe the type of session
- The media format
- SDP, Session Description Protocol
- Could include an ISDN User Part message
- Examined only at the two ends
14SIP Requests
- method SP request-URI SP SIP-version CRLF
- request-URI
- The address of the destination
- Methods
- INVITE, ACK, OPTIONS, BYE, CANCLE, REGISTER
- INVITE
- Initiate a session
- Information of the calling and called parties
- The type of media
- IAM (initial address message) of ISUP
- ACK only the final response
15- BYE
- Terminate a session
- Can be issued by either the calling or called
party - Options
- Query a server as to its capabilities
- A particular type of media
- The response if sent an INVITE
- CANCEL
- Terminate a pending request
- E.g., an INVITE did not receive a final response
- REGISTER
- Log in and register the address with a SIP server
- all SIP servers multicast address
(224.0.1.1750) - Can register with multiple servers
- Can have several registrations with one server
16SIP Responses
- SIP version SP status code SP reason-phrase CRLF
- reason-phrase
- A textual description of the outcome
- Could be presented to the user
- status code, RFC 2543
- A three-digit number
- 1XX Informational
- 2XX Success (only code 200 is defined)
- 3XX Redirection
- 4XX Request Failure
- 5XX Server Failure
- 6XX Global Failure
- All responses, except for 1XX, are considered
final - Should be ACKed
17One number service
18SIP Addressing
- SIP URLs (Uniform Resource Locators)
- user_at_host
- E.g.,
- sipcollins_at_home.net
- sip3344556789_at_telco.net
- Supplement the URL
- sip3344556789_at_telco.netuserphone
19Message Headers
- Provide further information about the message
- information elements
- E.g.,
- Toheader in an INVITE
- The called party
- Fromheader
- The caling party
- Four main categories
- General, request, response, and entity headers
- A list in Table 5-2
- Mapping in Table 5-3
20General Headers
- Used in both requests and responses
- Basic information
- E.g., To, From, Call-ID,
- Contact
- A URL for future communication
- May be different from the From header
- Requests passed through proxies
21- Request Headers
- Apply only to SIP requests
- Addition information about the request or the
client - E.g.,
- Subject
- Priority, urgency of the request
- Authorization, authentication of the request
originator - Response Headers
- Further information about the response
- E.g.,
- Unsupported, features
- Retry-After
22- Entity Header
- Session information presented to the user
- Session description, SDP
- The RTP payload type, an address and port
- Content-Length, the length of the message body
- Content-Type, the media type of the message
- Content-Encoding, for message compression
- Content Disposition,
- Content-Language,
- Allow, used in a Request to indicate the set of
methods supported - Expires, the date and time
23Example of SIP Message Sequences
- Registration
- Via
- Call-ID
- host-specific
- Content-Length
- Zero, no msg body
- Cseg
- Avoid ambiguity
- Expires
- TTL
- 0, unreg
- Contact
-
24Invitation
- A two-party call
- Subject
- optional
- Content-Type
- application/sdp
25(No Transcript)
26Termination of a Call
27Redirect Servers
- An alternative address
- 302, Moved temporarily
- Another INVITE
- Same Call-ID
- Cseq
28Proxy Servers
- Entity headers are omitted
- Changes the Req-URI
- Via
- The path
- Loop detected, 482
- For a response
- The 1st Via header
- Checked
- removed
29(No Transcript)
30Proxy state
- Can be either stateless or stateful
- Record-Route
- The messages and responses may not pass through
the same proxy - Use Contact
- A Proxy might require that it remains in the
signaling path - In particular, for a stateful proxy
- Insert its address into the Record-Route header
- The response includes the Record-Route header
- The Record-Route header is used in the
subsequent requests - The Route header the Record-Route header in
reverse order, excluding the first proxy - Each proxy remove the next from the Route header
31Forking Proxy
- fork requests
- A user is registered at several locations
- branchxxx
32(No Transcript)
33The Session Description Protocol
- The message body
- SDP, RFC 2327
- The Structure of SDP
- Session Level Info
- Name
- The originator
- The time
- Media Level Info
- Media type
- Port number
- Transport protocol
- Media format
34SDP Syntax
- A number of lines of text
- In each line
- fieldvalue
- Session-level fields first
- Media-level fields
- Begin with media description field (m)
35Mandatory Fields
- v(protocol version)
- o(session origin or creator and session id)
- s(session name), a text string
- t(time of the session), the start time and stop
time - m(media)
- Media type
- The transport port
- The transport protocol
- The media format, an RTP payload format
36Optional Fileds
- i(session information)
- A text description
- At both session and media levels
- u(URI of description)
- Where further session information can be obtained
- Only at session level
- e(e-mail address)
- Who is responsible for the session
- Only at the session level
- p(phone number)
- Only at the session level
37- c(connection information)
- Connection type, network type, and connection
address - At session or media level
- b(bandwidth information)
- In kilobits per second
- At session or media level
- r(repeat times)
- For regularly scheduled session
- How often and how many times
- z(timezone adjustments)
- For regularly scheduled seesion
- Standard time and Daylight Savings Time
38- k(encryption key)
- An encryption key or a mechanism to obtain it
- At session or media level
- a(attributes)
- Describe additional attributes
39Ordering of Fields
- Session Level
- Protocol version (v)
- Origin (o)
- Session name (s)
- Session information (i)
- URI (u)
- E-mail address (e)
- Phone number (p)
- Connection info (c)
- Bandwidth info (b)
- Time description (t)
- Repeat info (r)
- Time zone adjustments (z)
- Encryption key (k)
- Attributes (a)
- Media level
- Media description (m)
- Media info (i)
- Connection info (c)
- Optional if specified at the session level
- Bandwidth info (b)
- Encryption key (k)
- Attributes (a)
40Subfields
- Field ltvalue of subfield1gt ltvalue of subfield2gt
ltvalue of subfield3gt. - Origin (o)
- Username, the originators login id or -
- session ID
- A unique ID
- Make use of NTP timestamp
- version, a version number for this particular
session - network type
- A text string
- IN refers to Internet
- address type
- IP4, IP6
- Address, a fully-qualified domain name or the IP
address
41- Connection Data
- The network and address at which media data are
to be received - Network type
- Address type
- Connection address
- Media Information
- Media type
- Audio, video, application, data, or control
- Port, 1024-65535
- Format
- List the various types of media
- RTP/AVP payload types
- m audio 45678 RTP/AVP 15 3 0
- G.728, GSM, G.711
42- Attributes
- Property attribute
- asendonly
- arecvonly
- value attribute
- aorientlandscape
- rtpmap attribute
- The use of dynamic payload type
- artpmapltpayload typegt ltencoding namegt/ltclock
rategt /ltencoding parametersgt. - mvideo 54678 RTP/AVP 98
- artpmap 98 L16/16000/2
43Usage of SDP with SIP
- SIP for the establishment of multimedia sessions
- SDP a structured language for describing the
sessions - The entity header
44Negotiation of Media
- Fig 5-15
- G.728 is selected
- If a mismatch
- 488 or 606
- Not Acceptable
- A Warning header
- INVITE with multiple media streams
- Unsupported should also be returned
- With a port number of zero
45(No Transcript)
46- Options Method
- Determine the capabilities of a potential called
party
47Usage of SIP for Features/Services
- Personal mobility by registration
- Can carry MIME (Multi-Purpose Internet Mail
Extension) content - Text, HTML documents, an image, etc.
- SIP address is a URL
- Click-to-call applications
- Supplementary Custom Local Area Signaling Service
(CLASS) services - Call waiting, call forwarding, multi-party
calling, call screening - Proxy-controlled QoS, IN SCP, INAP
48Call Forwarding
49Consultation Hold
50(No Transcript)
51SIP Extensions and Enhancements
- RFC 2543, March 1999
- Proposed standard, March 2002
- SIP-T
- Include various extensions
- Will be enhanced considerably before it becomes
an Internet standard
52183 Session-Progress Message
- The addition of a new response
- Status code 183
- To open a one-way media path
- From the called party to calling party
- Enable in-band call progress information to be
transmitted - Tones or announcements
- ACM (address complete message) of SS7
- For SIP PSTN SIP connections
- When a temporary media stream is needed
- Note that alerting signal can be
- Status code 180 (ringing)
- The temporary media stream will be terminated
- As soon as the called user answers
53SIP INFO Method
- A new SIP method
- The transfer of information in the middle of a
call - DTMF digits, account-balance information,
mid-call signaling information (from PSTN) - A powerful, flexible tool to support new services
54The SIP Supported Header
- The Require header
- a client indicates to a server that the server
must support certain features - In responses
- 421, extension required
- The Supported header
- For server to know a clients capabilities
- Included in both requests and responses
- BYE, CANCEL, INVITE, OPTIONS and REGISTER
- Should not be included in the ACK
55(No Transcript)
56Reliability of Provisional Responses
- Provisional Responses
- 100 (trying), 180 (ringing), 183 (session in
progress) - Are not answered with an ACK
- If the messages is sent over UDP
- Unreliable
- Lost provisional response may cause problems when
interoperating with other network - 180, 183 ? Q931 alerting or ISUP ACM
- To drive a state machine
- E.g., a call to an unassigned number
- ACM to create a one-way path
57- RSeq
- Response seq
- 1, when retxm
- Rack
- Response ACK
- PRACK
- Prov Resp ACK
- Should not
- Apply to 100
58(No Transcript)
59Integration of SIP an Resource Mang
- The signaling might take a different path from
the media - Assume resource-reservation mechanisms available
(Chapter 8) - A new SIP header in the INVITE
- Resources reservation is needed
- The user should not yet be alerted
- But unrecognized header is ignored
60- Integration of Resource Management and SIP for IP
Telephony - A new method, PRECONDITION-MET
- The far-end phone will not ring until
- Also specifies extensions to SDP
- Can define any number of preconditions in SDP
without revise SIP every time - Being sent end-to-end
- aqos strength-tag SP direction-tag SP
confirmation-tag - asecure strength-tag SP direction-tag SP
confirmation-tag - If failed, could select a lower-bandwidth codec
61(No Transcript)
62Interworking
- PSTN Interworking
- A SIP URL
- A network gateway
- Fig. 5-23
- SIP to PSTN call
- Fig. 5-24
- PSTN to SIP call
- PSTN SIP PSTN
- MIME media types
- For ISUP and QSIG
63(No Transcript)
64Interworking with H.323
- An Internet draft
- SIP-H.323 interworking gateway
65(No Transcript)
66(No Transcript)
67(No Transcript)
68(No Transcript)
69Summary
- The future for signaling in VoIP networks
- Simple, yet flexible
- Easier to implement
- Fit well with the media gateway control protocols
70Reference Architecture of R00
71Support of Roaming Subscribers
- via the service platform in the Home Network
- via an external service platform
72UE Accessing IM Subsystem Services
73Public and Private Identities
- One private user identity
- IMSI within a NAI
- One or more public user identities
74Roles of CSCF
- Call State Control Function
- SIP proxy servers
- Proxy CSCF
- The first contact point within the IM subsystem
- Forward the SIP register requests from the UE to
an I-CSCF - Forward the SIP messages from the UE to the
S-CSCF - CDR
- FFS
- Authorization, QoS management, security
75- Interrogating CSCF
- The contact point within an operators network
- Assign an S-CSCF to a user performing SIP Reg
- Obtain from HSS the address of the S-CSCF
- Forward SIP messages to the S-CSCF
- Forward SIP messages to the MGCF
- CDR
- FFS
- Inter-operator security
76- Serving CSCF
- Perform the session control services
- A registrar
- Interaction with Services Platforms
- On behalf of an originating endpoint
- On behalf of an destination endpoint
- CDR
- FFS
- Security issues
77Registration Information Flow
78Registration
79Call flow
80(No Transcript)
81Different Kinds of CSCFs
82Interwork with PSTN
83(No Transcript)