1 / 77

Introduction to SIP

Introduction to SIP. School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr http://networking.khu.ac.kr. Overview of SIP. Proposed standard released in 1999, current release in 2002

kgreig
Télécharger la présentation

Introduction to SIP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to SIP School of Electronics and Information Kyung Hee University Choong Seon HONG cshong@khu.ac.kr http://networking.khu.ac.kr

  2. Overview of SIP • Proposed standard released in 1999, current release in 2002 • Session-layer control-plane signaling protocol with support for establishing, modifying and terminating one-to-one or multiparty sessions. • Light-weight, ASCII based generic signaling protocol to facilitate multimedia communications over IP • Independent of media characteristics and transport protocol properties • Work in IETF currently by SIP WG and SIPPING WG • Related work by MMUSIC WG, AAA WG, GEOPRIV WG, SIMPLE WG, Internet Telephony WG • 3GPP has decided to support it in IP multimedia services (IMS) domain.

  3. Overview of SIP (cont’d) • SIP is complimentary to SGCP/MGCP • SIP Provides Session Control • SGCP/MGCP Provides Device Control

  4. The Big FAQ and SIP? Q: You are too IP-centric, aren’t you? A: Of course, we are. • Internet telephony (which has Internet in its name) is about IP. • IP telephony runs on top of IP and utilizes the IP service model. • It is not about re-engineering PSTN -- PSTN is good enough. • SIP is much more similar to HTTP rather than to legacy signaling both in terms of service model and protocol design.

  5. Problem description • Environment: aging PSTN equipment, carrier fiber overcapacity and arrival of multimedia communications with preparation to millions of mobile hosts that are IP-aware. Additionally, the possibility of programming PSTN-services in a more open environment. • Problem: how to enable gradual deployment and transition to avoid the one-big-leap-for-mankind scenarios? • Approach: IETF multimedia architecture and interoperability schemes with PSTN and 3GPP. Signaling is one part of this. The multimedia architectures capabilities are related to Quality of Service architecture and IP multicast.

  6. IETF Multimedia Architecture

  7. What Protocols Are Needed? • Signaling protocol to establish presence, locate users, set up, modify and teardown sessions • Media Transport Protocols for transmission of packetized audio/video • Supporting Protocols • Gateway Location, QoS, interdomain AAA, address translation, IP, etc. AAA = Authentication, Authorization, Accounting

  8. What Protocols Are There • Signaling: SIP/SDP (IETF), H.323 (ITU-T) • Note: SIP adopted by 3gpp; lower production and operation costs reported • Media: RTP (IETF’s, adopted by ITU-T) • Transport: UDP, TCP, (Stream Control Transmission Protocol – RFC 2960) • Supporting protocols: • DNS • TRIP - Telephony Routing over IP - discovery and exchange of IP telephony gateway routing tables between providers • RSVP - Resource Reservation Setup Protocol • COPS - Common Open Policy Service - protocol for for supporting policy control over QoS • Diameter - Authentication, Accounting, Authorization

  9. SIP Signaling • SIP is end-to-end, client-server session protocol • SIP’s primarily provides presence and mobility • Protocol primitives: Session setup, termination, changes • Arbitrary services built on top of SIP, e.g.: • Redirect calls from unknown callers to secretary • Reply with a webpage if unavailable • Send a JPEG on invitation • Features: • Textual encoding (telnet, tcpdump compatible) • Programmability

  10. SIP - General Purpose Presence Protocol • SIP is not limited to Internet • SIP establishes user presence • SIP messages can convey arbitrary signaling payload: session description, instant messages, JPEGs, any MIME types • Suitable for applications having a notion of session • distributed virtual reality systems, • network games (Quake II/III implementations), • video conferencing, etc. • Applications may leverage SIP infrastructure (Call Processing, User Location, Authentication) • Instant Messaging and Presence • SIP for Appliances

  11. Internet Multimedia • Real Time Protocol (RTP) – media packets • Real Time Control Protocol (RTCP) – monitor & report • Session Announcement Protocol (SAP) • Session Description Protocol (SDP) • Session Initiation Protocol (SIP) • Real Time Stream Protocol (RTSP) – play out control • Synchronized Multimedia Integration Language (SMIL) – mixes audio/video with text and graphics : August 2001 References: Search keyword at http://www.rfc-editor.org/rfc.html For SMIL - http://www.w3.org/AudioVideo/

  12. Stages of IP Signaling Development • Precommercial stage (1980-1995) • Research in organizations and universities • IETF: Audio/Video Transport (AVT) WG - RTP • IETF: Multiparty Multimedia Session Control (MMUSIC) WG – SIP • PC-centric stage (1995-1998) • First commercial VoIP software, proprietary software • Calls from multimedia PC to another multimedia PC • ITU: May-June 1995: H.323v1 • Most commercial applications H.323 compliant by the end of 1996 • Carrier-grade stage (1998-) • Service provider VoIP deployment • First obstacle: integration to PSTN signalling (gateway functionality) • Development of media gateway controller protocols (MGCP and Megaco/H.248) • Todays approach: coexistence of SIP, H.323, MGCP and Megaco/H.248

  13. SIP History • Work began in 1995 in IETF mmusic WG • 02/1996: draft-ietf-mmusic-sip-00: 15 ASCII pages, one request type • 12/1996: -01 30 ASCII pages, 2 request types • 01/1999: -12 149 ASCII pages, 6 methods • 03/1999: RFC 2543, 153 ASCII pages, 6 methods • 11/1999: SIP WG formed • 11/2000: draft-ietf-sip-rfc2543bis-02, 171 ASCII pages, 6 methods • 12/2000: it was recognized that amount of work at SIP WG was becoming unmanageable; 1 RFC; 18 I-Ds on WG’s agenda; numerous individual submissions • 04/2001: proposal for splitting SIP WG into SIP and SIPPING announced • 2001: SIP implementations widely available • http://www.cs.columbia.edu/~hgs/sip/implementations.html • http://www.pulver.com/sip/products.html

  14. SIP End-devices • User Agent (user application) • UA Client (originates calls) • UA Server (listens for incoming calls) • both SW and HW available

  15. SIP Components • SIP Proxy Server • relays call signaling, i.e. acts as both client and server • operates in a transactional manner, i.e., it keeps no session state • SIP Redirect Server • redirects callers to other servers • SIP Registrar • accept registration requests from users • maintains user’s whereabouts at a Location Server (like GSM HLR)

  16. SG MG Telephony on the Internetmay not be a stand-alone business, but part of IP services SIP/RTP Media Architecture • Public IP Backbone • Goes everywhere • End-to-end control • Consistent for all services • DNS – mobility • Messaging • Web • Directory • Security • QoS • Media services • Sessions • Telephony • ………… Telephone Gateway SIP client CAS, Q.931, SS7 SIP PCM RTP MGCP CAS : channel associated signaling Any other sessions

  17. Commercial Grade IP Telephony Assure baseline PSTN features Leverage and Commonality of telephony with the Web/Internet New services (new revenue) Scalability (Web-like) Baseline PSTN&PBX features • Client & user authentication • Accounting assured QoS • QoS assured signaling • Security assured signaling • Hiding of caller ID & location • Better than PSTN features • New & fast service creation • Internet (rapid) scalability • Mobility • Dynamic user preferences • End-to-end control • Service selection • Feature control • Mid-call control features • Pre-call • Mid-call

  18. PSTN/PBX-like: POTS AIN CS-1, CS-2 PBX & Centrex User has control of: All addressable devices Caller and called party preferences Better quality than 3.1 kHz Web-like: Presence Voice and text chat Messaging Voice, data, video Multiparty Conferencing Education Games Any quality Most yet to be invented IP Communications Complete integration of all services under full user control

  19. Development of SIP • IETF - Internet Engineering Task Force • MMUSIC - Multiparty Multimedia Session Control Working Group • SIP developed by Handley, Schulzrinne, Schooler, and Rosenberg • Submitted as Internet-Draft 7/97 • Assigned RFC 2543 in 3/99 • Internet Multimedia Conferencing Architecture. • Alternative to ITU’s H.323 • H.323 used for IP Telephony since 1994 • Problems: No new services, addressing, features • Concerns: scalability, extensibility

  20. SIP Philosophy • Internet Standard • IETF - http://www.ietf.org • Reuse Internet addressing (URLs, DNS, proxies) • Utilizes rich Internet feature set • Reuse HTTP coding • Text based • Makes no assumptions about underlying protocol: • TCP, UDP, X.25, frame, ATM, etc. • Support of multicast

  21. SIP Clients and Servers - 1 • SIP uses client/server architecture • Elements: • SIP User Agents (SIP Phones) • SIP Servers (Proxy or Redirect - used to locate SIP users or to forward messages.) • Can be stateless or stateful • SIP Gateways: • To PSTN for telephony interworking • To H.323 for IP Telephony interworking • Client - originates message • Server - responds to or forwards message

  22. SIP Clients and Servers - 2 Logical SIP entities are: • User Agents • User Agent Client (UAC): Initiates SIP requests • User Agent Server (UAS): Returns SIP responses • Network Servers • Registrar: Accepts REGISTER requests from clients • Proxy: Decides next hop and forwards request • Redirect: Sends address of next hop back to client The different network server types may be collocated

  23. SIP Addressing • SIP gives you a globally reachable address • Callees bind to this address using SIP REGISTER method. • Callers use this address to establish real-time communication with callees. • URLs used as address data format; examples: • sip:jiri@iptel.org • sip:voicemail@iptel.org?subject=callme • sip:sales@hotel.xy; geo.position:=48.54_-123.84_120

  24. SIP Addressing (cont’d) • must include host, may include user name, port number, parameters (e.g., transport), etc. • may be embedded in Webpages, email signatures, printed on your business card, etc. • address space unlimited • non-SIP URLs can be used as well (mailto:, http:, ...)

  25. SIP Registration

  26. SIP Session Setup Example SIP User Agent Client SIP User Agent Server INVITE sip:picard@uunet.com 200 OK ACK Media Stream BYE 200 OK host.wcom.com sip.uunet.com

  27. SIP User Agent Client SIP Proxy Server SIP User Agent Server INVITE sip:picard@wcom.com INVITE sip:picard@uunet.com 200 OK 200 OK ACK Media Stream BYE 200 OK host.wcom.com sip.uunet.com • Proxy Server Example server.wcom.com

  28. SIP Operation in Proxy Mode

  29. Proxy Server Functionality • Serve as rendezvous point at which callees are glabally reachable • Perform routing function, i.e., determine to which hop (UA/proxy/redirect) signaling should be relayed • Allow the routing function to be programmable. Arbitrary logic may be built on top of the protocol • user’s signaling preferences • AAA • firewall control • etc. • Forking: Several destinations may be tried for a request sequentially or in parallel.

  30. Proxy Chaining • There may be also cases when a local outbound proxy may be involved • provides locally important call processing logic (e.g., identifying nearest 119) • manages firewall • provides least-gateway-cost routing service • IP phones must know address of the proxy:may be configured manually or with a configuration protocol (DHCP, TFTP, ... ) • In general, servers may be arbitrarily chained • a central company’s server may distribute signaling to departmental servers • a user may want to forward incoming calls to her cell phone

  31. Proxy Chaining – an Example Note : signaling (in red) may take a completely different path from media in blue)

  32. SIP User Agent Client SIP Redirect Server SIP User Agent Server REGISTER picard@uunet.com 1 UAS RS 200 OK 2 INVITE sip:picard@wcom.com C 3 302 Moved sip:picard@uunet.com ACK INVITE sip:picard@uunet.com 180 Ringing 200 OK ACK Media Stream host.wcom.com server.wcom.com sip.uunet.com • Redirect Server Example

  33. SIP Operation in Redirect Mode

  34. SIP Server - Proxy versus Redirection • A SIP server may either proxy or redirect a request • Which of the two method applies is a configuration issue. It may be statically configured or dynamically determined/ • Redirection useful if a user moves or changes her provider (PSTN: “The number you have dialed is not available.”) -- caller does not need to try the original server next time. Stateless. • Proxy useful if forking, AAA, firewall control needed. In general, proxying grants more control to the server.

  35. SIP Requests : RFC2543 Methods SIP Requests (Messages) defined as: • Method SP Request-URI SP SIP-Version CRLF (SP=Space, CRLF=Carriage Return and Line Feed) • Example: INVITE sip:picard@wcom.com SIP/2.0

  36. SIP Requests Example Required Headers (fields): • Via: Shows route taken by request. • Call-ID: unique identifier generated by client. • CSeq: Command Sequence number • generated by client • Incremented for each successive request INVITE sip:picard@wcom.com SIP/2.0 Via: SIP/2.0/UDP host.wcom.com:5060 From: Alan Johnston <sip:alan.johnston@wcom.com> To: Jean Luc Picard <sip:picard@wcom.com> Call-ID: 314159@host.wcom.com CSeq: 1 INVITE } Uniquely identify this session request

  37. SIP Requests Example Typical SIP Request: INVITE sip:picard@wcom.com SIP/2.0 Via: SIP/2.0/UDP host.wcom.com:5060 From: Alan Johnston <sip:alan.johnston@wcom.com> To: Jean Luc Picard <sip:picard@wcom.com> Call-ID: 314159@host.wcom.com CSeq: 1 INVITE Contact: sip:alan.johnston@wcom.com Subject: Where are you these days? Content-Type: application/sdp Content-Length: 124 v=0 o=ajohnston 5462346 332134 IN IP4 host.wcom.com s=Let's Talk t=0 0 c=IN IP4 10.64.1.1 m=audio 49170 RTP/AVP 0 3

  38. SIP Responses SIP Responses defined as (HTTP-style): • SIP-Version SP Status-Code SP Reason-Phrase CRLF(SP=Space, CRLF=Carriage Return and Line Feed) • Example: SIP/2.0 404 Not Found • First digit gives Class of response:

  39. SIP Responses Example Required Headers: • Via, From, To, Call-ID, and CSeq are copied exactly from Request. • ToandFrom are NOT swapped! SIP/2.0 200 OK Via: SIP/2.0/UDP host.wcom.com:5060 From: Alan Johnston <sip:alan.johnston@wcom.com> To: Jean Luc Picard <sip:picard@wcom.com> Call-ID: 314159@host.wcom.com CSeq: 1 INVITE

  40. SIP Responses Example Typical SIP Response (containing SDP) SIP/2.0 200 OK Via: SIP/2.0/UDP host.wcom.com From: Alan Johnston <sip:alan.johnston@wcom.com> To: Jean Luc Picard <sip:picard@wcom.com> Call-ID: 314159@host.wcom.com CSeq: 1 INVITE Contact: sip:picard@wcom.com Subject: Where are you these days? Content-Type: application/sdp Content-Length: 107 v=0 o=picard 124333 67895 IN IP4 uunet.com s=Engage! t=0 0 c=IN IP4 11.234.2.1 m=audio 3456 RTP/AVP 0

  41. S1 S2 C • Forking Proxy Example SIP User Agent Client SIP Proxy Server SIP User Agent Server 1 SIP User Agent Server 2 INVITE sip:picard@wcom.com INVITE INVITE 100 Trying 404 Not Found ACK Fork 180 Ringing 180 Ringing 200 OK 200 OK ACK Media Stream BYE 200 OK proxy.wcom.com sip.mci.com host.wcom.com sip.uunet.com

  42. SIP Headers - Partial List

  43. SIP Headers - Continued

  44. SIP Headers - Continued

  45. Via Headers and Routing • Via headers are used for routing SIP messages • Requests • Request initiator puts address in Via header • Servers check Via with sender’s address, then add own address, then forward. (if different, add “received” parameter) • Responses • Response initiator copies request Via headers. • Servers check Via with own address, then forward to next Via address

  46. SIP Firewall Considerations • Firewall Problem • Can block SIP packets • Can change IP addresses of packets • TCP can be used instead of UDP • Record-Route can be used: • ensures Firewall proxy stays in path • A Firewall proxy adds Record-Route header • Clients and Servers copy Record-Route and put in Route header for all messages

  47. SIP Message Body • Message body can be any protocol • Most implementations: • SDP - Session Description Protocol • RFC 2327 4/98 by Handley and Jacobson • http://www.ietf.org/rfc/rfc2327.txt • Used to specify info about a multi-media session. • SDP fields have a required order • For RTP - Real Time Protocol Sessions: • RTP Audio/Video Profile (RTP/AVP) payload descriptions are often used

  48. Session Description Protocol (SDP) • Convey sufficient information to enable participation in a multimedia session • SDP includes description of: • Media to use (codec, sampling rate) • Media destination (IP address and port number) • Session name and purpose • Times the session is active • Contact information • Note: indeed SDP is a data format rather than a protocol.

  49. SDP Examples v=0 o=sisalem 28908044538 289080890 IN IP4 193.175.132.118 s=SIP Tutorial e=sisalem@fokus.gmd.de c=IN IP4 126.16.69.4 t=28908044900 28908045000 m=audio 49170 RTP/AVP 0 98 a=rtpmap:98 L16/11025/2

  50. SDP Examples (cont’d) SDP Example v=0 o=ajohnston +1-613-555-1212 IN IP4 host.wcom.com s=Let's Talk t=0 0 c=IN IP4 101.64.4.1 m=audio 49170 RTP/AVP 0 3 SDP Example v=0 o=picard 124333 67895 IN IP4 uunet.com s=Engage! t=0 0 c=IN IP4 101.234.2.1 m=audio 3456 RTP/AVP 0

More Related