Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Extending SIP Speaker: Hsuan-Ming Chen Adviser: Ho-Ting Wu Date: 2005/04/26.

Similar presentations


Presentation on theme: "1 Extending SIP Speaker: Hsuan-Ming Chen Adviser: Ho-Ting Wu Date: 2005/04/26."— Presentation transcript:

1 1 Extending SIP Speaker: Hsuan-Ming Chen Adviser: Ho-Ting Wu Date: 2005/04/26

2 2 Outline Background Extending SIP Introduction Design Principle for SIP Extension Extension to SIP Summary

3 3 Background What is SIP? SIP is an end-to-end, application-layer control (signaling) protocol for Initiating, modifying, terminating sessions  Find the user’s current location  Carry session descriptions

4 4 Background (cont.) SIP components - User Agent User Agent Client (UAC)- Initiate SIP Request User Agent Server (UAS)-Accepts or rejects call

5 5 Background (cont.) SIP components - Proxy Server Heart of SIP network that contains all service logic Receives SIP messages, forwards to next SIP UAS

6 6 Background (cont.) SIP components - Redirect Server Return routing information to the originating endpoint

7 7 Background (cont.) SIP components - Registrar Server Maintains user’s whereabouts Typically co-located with a proxy server or a redirect server and may offer location services

8 8 Background (cont.) SIP Method INVITE Initiates a call by inviting user to participate in session ACK Confirms 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

9 9 Background (cont.) SIP Network Architecture

10 10 Extending SIP Introduction Session Initiation Protocol (SIP) is designed so that its core functionality is present in every implementation SIP is flexible and easy to extend According to special requirements devise extensions to meet particular needs The community has defined a set of extensions very quickly These extensions are implemented in a module fashion

11 11 Introduction (cont.) Extension Negotiation A negotiation process is needed in order to determine the extensions that will be used within any given session

12 12 Introduction (cont.) Extension Negotiation Two headers: Require an Supported A client lists all of the extensions it needs to establish a session in the Require header and all of the extensions it supports in the Supported header foo3, foo5 will not be used Supports: 1, 2, 3, 4Supports: 1, 2, 4, 5

13 13 Design Principle for SIP Extension Do Not Break the Toolkit Approach Extensions to SIP should not broaden the scope of SIP Ex. One might want to use SIP to download Web pages from a server, but HTTP already exists for that purpose. So using sip extensions to cover HTTP functionality is not wise

14 14 Design Principle for SIP Extension (cont.) Independence from Session Type SIP separates session establishment from session description Ex. should define how SIP interacts with QoS, should not define how SIP can used in conjunction with SDP and RSVP in order to provide QoS Do Not Change Method Semantics Ex. define a header called Real-Purpose be carried in INVITE request as follows: Real-Purpose: Tell me your capabilities Use OPTIONS method which is defined specifically for that purpose

15 15 Extension to SIP 1. Reliable Delivery of Provisional Responses 2. Mid-session Transaction That Do Not Change the State of the Session 3. Multiple Message Bodies 4. Instant Messages 5. Automatic Configuration of UAs 6. Preconditions to Be Fulfilled Before Alerting 7. Caller Preferences 8. Asynchronous Notification of Events 9. Third-party Call Control 10. Session Transfer 11. Sending Commands 12. SIP Security

16 16 Extension to SIP (1/12) Reliable Delivery of Provisional Responses SIP does not transmit provisional responses reliably [Draft-ietf-sip-100rel] is the SIP extension defined to provide the reliable transfer of provisional responses

17 17 Extension to SIP (1/12) (cont.) Reliable Delivery of Provisional Responses A new method called Provisional Response ACK (PRACK) was defined to acknowledge the reception of provisional responses UASs transmitting reliable provisional responses retransmit until a message from the UAC is received acknowledging reception

18 18 Extension to SIP (1/12) (cont.)

19 19 Extension to SIP (2/12) Mid-session Transaction That Do Not Change the State of the Session SIP provides a means to change the parameters of the sessions through re-INVITEs Exchange information (ex. Billing information) that does not influence the state of the session New SIP method called INFO [RFC 2976] provides this functionality

20 20 Extension to SIP (3/12) Multiple Message Bodies Deliver photos along with the session description UA needs to receive a file with the photo or a URL where Bob’s UA can retrieve the photo An INVITE carrying a message body with two parts: SDP session description photo

21 21 Extension to SIP (4/12) Instant Messages A new method called MESSAGE was defined to carry in its body the message that the sender wrote

22 22 Extension to SIP (5/12) Automatic Configuration of UAs One of the main features of SIP is that it provides user mobility through registration

23 23 Extension to SIP (6/12) Preconditions to Be Fulfilled Before Alerting Establishing a secure channel between two end users and providing QoS takes time Ghost ringing If the session is established and the network does not grant the necessary QoS, the session fails. This would mean that a user answers a SIP phone that is ringing and finds no call established A new method called preCOnditions MET (COMET) COMETs are sent to indicate that all preconditions are met and session establishment can proceed

24 24 Extension to SIP (6/12) (cont.)

25 25 Extension to SIP (6/12) (cont.)

26 26 Extension to SIP (7/12) Caller Preferences Ex. Fixed phone rung first, mobile phone next New headers Accept-Contact Reject-Contact Request-Disposition

27 27 Extension to SIP (7/12) (cont.) Laura uses new SIP headers to indicate her preferences

28 28 Extension to SIP (8/12) Asynchronous Notification of Events Event notification mechanism The SIP event notification framework enables SIP to inform users about a variety of events in which they’ve previously indicated an interest via signaling Two new methods: SUBSCRIBE is used by a SIP entity to declare its interest in a particular When the subscribed event occurs, NOTIFY requests are sent containing information about the session

29 29 Extension to SIP (8/12) (cont.)

30 30 Extension to SIP (8/12) (cont.) Bob receives a NOTIFY when Laura joins the conference call

31 31 Extension to SIP (9/12) Third-party Call Control Bob establishes a session between the conference unit and his computer at home

32 32 Extension to SIP (9/12) (cont.) Third-party call control message flow Because the second INVITE contains the session description provided by Bob’s computer, the conference unit will send the audio stream to Bob’s computer.

33 33 Extension to SIP (10/12) Session Transfer Using session transfer to filtrate phone call A new method REFER was defined instructs a server to send a specific request

34 34 Extension to SIP (10/12) (cont.)

35 35 Extension to SIP (11/12) Sending Commands sometimes it is necessary to send a command to a device outside a master/slave architecture A new method called DO was defined to carry commands Bob controls his radio using SIP

36 36 Extension to SIP (12/12) SIP Security SIP security is concerned with the exchange of SIP signalling

37 37 Extension to SIP (12/12) (cont.) SIP Security A malicious proxy in the middle of the SIP path could change the contents of the SIP message S/MIME Authentication is generic enough to exchange secure e-mails and work with both HTTP and SIP Message are signed using a public-key encryption mechanism An individual user has two keys  private key: only one user knows  public key: available to anyone

38 38 Summary SIP is flexible and easy to extend SIP security is a critical issue because it is used in the internet SIP + Extending SIP can develop unexpected applications

39 39 Reference SIP Demystified by Gonzalo Camarillo McGraw-Hill, Published August 2001, ISBN 0071373403Gonzalo Camarillo http://www.cs.columbia.edu/sip/ RFC 3261(SIP/2.0) RFC 2327(SDP)


Download ppt "1 Extending SIP Speaker: Hsuan-Ming Chen Adviser: Ho-Ting Wu Date: 2005/04/26."

Similar presentations


Ads by Google