An Introduction to SIP Moshe Sambol

438 views
371 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
438
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • MMUSIC = Multiparty Multimedia Session Control if that second bullet isn’t enough of a mouthful, it’s also a “single layer” protocol (as opposed to SS7 and the like) which relies on TCP / UDP and internal mechanisms for delivery guarantees, etc., while not concerning itself with issues such as QoS.
  • Note SIP’s interaction with external media applications
  • Mobility: by providing host-independent addressing which resolves through location services / directory services and interaction among servers to host-specific addresses security: hop by hop encryption, authentication end-to-end authentication, encryption anonymous calls firewalls = proxy, much simpler than with H.323 (VON slide #51)
  • * discuss final as opposed to provisional responses, how this maps well to telephony services
  • Mobility: by providing host-independent addressing which resolves through location services / directory services and interaction among servers to host-specific addresses security: hop by hop encryption, authentication end-to-end authentication, encryption anonymous calls firewalls = proxy, much simpler than with H.323 (VON slide #51)
  • More services: VON slides 56-57 Advanced services are built from element behavior, not from feature descriptions (VON 59) ~hgs: “SIP is independent of the packet layer and only requires an unreliable datagram service, as it provides its own reliability mechanism. While SIP typically is used over UDP or TCP, it could, without technical changes, be run over IPX, or carrier pigeons, frame relay, ATM AAL5 or X.25, in rough order of desireability”
  • Mention “Call Processing Syntax” - payload of REGISTER note that these implementations are most likely based on older versions of the spec and will be evolving to catch up to the (major) differences introduced in the later versions.
  • An Introduction to SIP Moshe Sambol

    1. 1. An Introduction to SIP Moshe Sambol Services Research Lab November 18, 1998
    2. 2. The Session Initiation Protocol <ul><li>Communications protocol under development by the IETF’s MMUSIC working group. Last call for comments is over, SIP is about to become a standard. </li></ul><ul><li>Text-based IP application-layer protocol (derived from HTTP) for Internet multi-party multi-media conferencing establishment and management. </li></ul>
    3. 3. SIP Basics <ul><li>Separation of call data and connection control </li></ul><ul><ul><li>as opposed to PSTN: DTMF / pulses and on-hook/off-hook signals carried in band with call. </li></ul></ul><ul><li>Carries service and participant information </li></ul><ul><ul><li>provides natural support for advanced telephony services. </li></ul></ul>
    4. 4. SIP Basics continued <ul><li>Simpler language than H.323 supports flexibility, expandability, greater expression </li></ul><ul><li>Media and/or participants can be added to or removed from existing conferences </li></ul><ul><li>Supports personal mobility, degrees of security... </li></ul>
    5. 5. The SIP Call Model <ul><li>Session: A set of multimedia senders and receivers and the data which flows between them. </li></ul><ul><li>Conference: A multimedia session identified by a session description. Composed of one or more calls. </li></ul><ul><li>Call: All participants in a conference invited by a single source. </li></ul><ul><li>Call Leg: All communication between one caller and callee within a call. </li></ul><ul><li>Transaction: All messages within a call leg from a first request until a final* response. </li></ul>
    6. 6. Actors in a SIP Conference <ul><li>User Agent </li></ul><ul><ul><li>Client application which initiates and accepts invitations; interacts with media applications. </li></ul></ul><ul><li>SIP Proxy Server </li></ul><ul><ul><li>Intermediary which relays requests after possible lookup and/or translation. </li></ul></ul><ul><li>SIP Redirect Server </li></ul><ul><ul><li>Maps a request to a set of alternate addresses and returns those to the client without initiating requests of its own. </li></ul></ul>
    7. 7. SIP Actors, continued <ul><li>Location Service </li></ul><ul><ul><li>Not defined by SIP but used by its servers to locate other SIP servers. </li></ul></ul><ul><li>No Gatekeeper </li></ul><ul><ul><li>Gatekeeper traditionally provides admission control, address translation. These functions provided by other SIP actors. </li></ul></ul>
    8. 8. SIP Operation in Proxy Mode All illustrations courtesy of H.Schulzrinne
    9. 9. SIP Operation in Redirect Mode
    10. 10. SIP Requests <ul><li>REGISTER </li></ul><ul><ul><li>Notify server of user location and availability </li></ul></ul><ul><li>OPTIONS </li></ul><ul><ul><li>Determine user capabilities </li></ul></ul><ul><li>INVITE  CANCEL </li></ul><ul><ul><li>Call setup  Transaction termination </li></ul></ul><ul><li>BYE </li></ul><ul><ul><li>Call termination / transfer </li></ul></ul>
    11. 11. SIP Responses <ul><li>SIP Provides a rich set of response codes which make it well suited to support advanced telephony services: </li></ul><ul><ul><li>1xx: Provisional responses (ringing, queued, etc.) </li></ul></ul><ul><ul><li>2xx: Final success responses </li></ul></ul><ul><ul><li>3xx: Redirect responses (moved perm/temp, mult. choices, etc.) </li></ul></ul><ul><ul><li>4xx: Client-Error (formatting, authorization, timeout, loop, etc.) </li></ul></ul><ul><ul><li>5xx: Server-Error </li></ul></ul><ul><ul><li>6xx: Global-Failure (busy, decline, does not exist, etc.) </li></ul></ul>
    12. 12. An Example SIP Message <ul><li>INVITE sip:watson@boston.bell-tel.com SIP/2.0 </li></ul><ul><li>Via: SIP/2.0/UDP kton.bell-tel.com </li></ul><ul><li>From: A. Bell <sip:a.g.bell@bell-tel.com> </li></ul><ul><li>To: T. Watson <sip:watson@bell-tel.com> </li></ul><ul><li>Call-ID: 43243250128u50@kton.bell-tel.com </li></ul><ul><li>Cseq: 1 INVITE </li></ul><ul><li>Subject: Mr. Watson, come here. </li></ul><ul><li>Content-Type: application/sdp </li></ul><ul><li>Content-Length: … </li></ul><ul><li>v=0 </li></ul><ul><li>o=bell 53655765 2353687637 IN IP4 128.3.4.5 </li></ul><ul><li>m=audio 3456 RTP/AVP 0 3 4 5 </li></ul>
    13. 13. … Sample Response <ul><li>SIP/2.0 180 Ringing </li></ul><ul><li>Via: SIP/2.0/UDP kton.bell-tel.com </li></ul><ul><li>From: A. Bell <sip:a.g.bell@bell-tel.com> </li></ul><ul><li>To: T. Watson <sip:watson@bell.tel.com> </li></ul><ul><li>Call-ID: 43243250128u50@kton.bell-tel.com </li></ul><ul><li>Cseq: 1 INVITE </li></ul><ul><li>Content-Length: 0 </li></ul><ul><li>----------------------------------------------------------------------------- </li></ul><ul><li>SIP/2.0 200 OK </li></ul><ul><li>Via: SIP/2.0/UDP kton.bell-tel.com </li></ul><ul><li>From: A. Bell <sip:a.g.bell@bell-tel.com> </li></ul><ul><li>To: T. Watson <sip:watson@bell.tel.com> </li></ul><ul><li>Call-ID: 43243250128u50@kton.bell-tel.com </li></ul><ul><li>Cseq: 1 INVITE </li></ul><ul><li>Contact: sip:watson@boston.bell-tel.com </li></ul><ul><li>Content-Type: … </li></ul><ul><li>m=audio 5004 RTP/AVP 0 3 … </li></ul>
    14. 14. Sample Services <ul><ul><li>Multi-party call  transfers </li></ul></ul><ul><ul><li>generic addressing  directed pick-up </li></ul></ul><ul><ul><li>multiple pick-up  hold music control </li></ul></ul><ul><ul><li>third party call control  camp-on </li></ul></ul><ul><ul><li>click to dial back  availability notification </li></ul></ul><ul><li>SIP Supports </li></ul><ul><ul><li>Multicast  UDP + TCP </li></ul></ul><ul><ul><li>Privacy (authentication, encryption, path hiding) </li></ul></ul>
    15. 15. Transfer Example: Telemarketing
    16. 16. State of SIP <ul><li>SIP implementations are being worked on at: </li></ul><ul><ul><li>ObjectSoftware  Nokia Research </li></ul></ul><ul><ul><li>Lucent  Mediatrix </li></ul></ul><ul><ul><li>ISI  HP Labs </li></ul></ul><ul><ul><li>GMD Fokus  Ericsson </li></ul></ul><ul><ul><li>Dynamicsoft  others? </li></ul></ul><ul><li>My own graduate work was on... </li></ul>
    17. 17. Open Issues <ul><li>Billing </li></ul><ul><li>Mappings to telephony APIs </li></ul><ul><li>Interfacing to external media applications </li></ul><ul><li>Location services </li></ul>Topics for Future Presentations <ul><li>SIP vs. H.323  SDP </li></ul><ul><li>Security  Richer examples! </li></ul>
    18. 18. Additional Info At: <ul><li>Professor Henning Schulzrinne: </li></ul><ul><ul><li>http://www.cs.columbia.edu/~hgs/sip </li></ul></ul><ul><ul><li>http://www.cs.columbia.edu/~hgs/internet/sdp.html </li></ul></ul><ul><li>Working group mailing list: </li></ul><ul><ul><li>[email_address] </li></ul></ul><ul><li>Struggling ex-graduate student: </li></ul><ul><ul><li>[email_address] </li></ul></ul>

    ×