Download It

576 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
576
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
39
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Download It

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

×