Re-INVITE Handling draft-camarillo-sipping-reinvite-00.txt

Slides:



Advertisements
Similar presentations
SIP(Session Initiation Protocol) - SIP Messages
Advertisements

Indication of support for keep- alive draft-holmberg-sip-keep-03 Christer Holmberg
SIP, Presence and Instant Messaging
SIP and Instant Messaging. SIP Summit SIP and Instant Messaging What Does Presence Have to Do With SIP? How to Deliver.
U N L E A S H I N G A S E R V I C E S R E N A I S S A N C E SIP SIP Security Jonathan Rosenberg Chief Scientist.
SIP Interconnect Guidelines draft-hancock-sip-interconnect-guidelines-02 David Hancock, Daryl Malas.
Non-200 response to PRACK (Due to rejected SDP offer or other reasons) Christer Holmberg
Communication Service Identifier Requirements on SIP draft-loreto-3gpp-ics-requirements.txt
Early Media Authorization Under what conditions should negotiated media flow prior to 200 OK (INVITE)? Richard Ejzak.
11 Halloween, 2011 Cullen Jennings
SIP Working Group Jonathan Rosenberg dynamicsoft.
July 20, 2000H.323/SIP1 Interworking Between SIP/SDP and H.323 Agenda Compare SIP/H.323 Problems in interworking Possible solutions Conclusion Q/A Kundan.
Session-Independent Policies draft-ietf-sipping-session-indep-policy-01 Volker Hilt Gonzalo Camarillo
Real-time Transport Protocol (RTP) Recommendations for SIPREC (draft-eckel-siprec-rtp-rec-01) Charles Eckel IETF-81, Quebec City, July.
Session Initiation Protocol (SIP) By: Zhixin Chen.
ICE Jonathan Rosenberg dynamicsoft. Issue 1: Port Restricted Flow This case does not work well with ICE right now Race condition –Works if message 13.
1 Extending SIP Speaker: Hsuan-Ming Chen Adviser: Ho-Ting Wu Date: 2005/04/26.
Introduction to SIP Speaker: Min-Hua Yang Advisor: Ho-Ting Wu Date:2005/3/29.
RTP Multiplexing draft-rosenberg-rtcweb-rtpmux Jonathan + {Rosenberg, Lennox}
Early Media in SIP: Problem Statement, Requirements, and Analysis of Solutions draft-barnes-sip-em-ps-req-sol Richard Barnes BBN Technologies IETF 68,
RTP Relay Support in Intelligent Gateway Author: Pieere Pi
SIP Action Referral Rifaat Shekh-Yusef Cullen Jennings Alan Johnston Francois Audet 1 IETF 80, SPLICES WG, Prague March 29, 2011.
Best Current Practices for Third Party Call Control (3pcc) in the Session Initiation Protocol (SIP) April 2004, RFC3725 Author(s): J. Rosenberg, J. Peterson,
SIP/RTSP convergence draft-whitehead-mmusic-sip-for-streaming-media-05
July 10, 2006rtpsec BOF IETF-661 Best Effort SRTP Phil Zimmermann Alan Johnston.
1 Kommunikatsiooniteenuste arendus IRT0080 Loeng 4 Avo Ots telekommunikatsiooni õppetool, TTÜ raadio- ja sidetehnika inst.
All rights reserved © 1999, Alcatel, Paris. page n° 1 SIP for Xcast SIP for the establishment of xcast-based multiparty.
Session Initiation Protocol (SIP). What is SIP? An application-layer protocol A control (signaling) protocol.
(Business) Process Centric Exchanges
Presented By Team Netgeeks SIP Session Initiation Protocol.
SIPPING IETF 57 Jonathan Rosenberg dynamicsoft.
SIPREC draft-ietf-siprec-req-02 Requirements for Media Recording using SIP Draft authors: K. Rehor, A. Hutton, L. Portman, R. Jain, H. Lum IETF 78.5 Interim.
SIP:Session Initiation Protocol Che-Yu Kuo Computer & Information Science Department University of Delaware May 11, 2010 CISC 856: TCP/IP and Upper Layer.
Draft-miniero-mediactrl-escs- 00.txt Alessandro Amirante Tobia Castaldi Lorenzo Miniero Simon Pietro Romano (University of Napoli Federico II)
Omar A. Abouabdalla Network Research Group (USM) SIP – Functionality and Structure of the Protocol SIP – Functionality and Structure of the Protocol By.
Real-time Transport Protocol (RTP) Recommendations for SIPREC (draft-eckel-siprec-rtp-rec-02) Charles Eckel SIPREC Virtual Interim.
Session Initiation Protocol (SIP) Chapter 5 speaker : Wenping Zhang data :
19 March 2003draft-burger-sipping-netann-05.txt1 Network Announcements with SIP IETF 56 Eric Burger
SIP Interconnect Guidelines draft-hancock-sip-interconnect-guidelines-01 David Hancock, Daryl Malas.
SIP working group IETF#70 Essential corrections Keith Drage.
SIP and SIPPING WGsMay, IETF Interim Meeting Orit levin Conferencing Requirements for SIP Based Applications.
IETF-81, Quebec City, July 25-29, 2011
SIP Performance Benchmarking draft-ietf-bmwg-sip-bench-term-01 draft-ietf-bmwg-sip-bench-meth-01 March 22, 2010 Prof. Carol Davids, Illinois Inst. of Tech.
Interactive Connectivity Establishment : ICE
SIP-H.323 Interworking Group RRR-1 IETF-48 SIP-H.323 Interworking Requirements draft-agrawal-sip-h323-interworking-reqs-00.txt Hemant.
March 22th, 2001 MMUSIC WG meeting 50th IETF MMUSIC WG meeting The fid attribute draft-ietf-mmusic-fid-00.txt
SIP PUBLISH Method Jonathan Rosenberg dynamicsoft.
GRUU Jonathan Rosenberg Cisco Systems. Changes in -06 Editorial as a result of RFC-ED early copy experiment.
Indication of Terminated Dialog draft-holmberg-sipping txt Christer Holmberg NomadicLab Ericsson.
History-Info header and Support of target-uri Solution Requirements Mary Barnes Francois Audet SIPCORE.
March 20th, 2001 SIP WG meeting 50th IETF SIP WG meeting Overlap signalling handling
The Session Initiation Protocol - SIP
Andrew Allen ROUTING OUT OF DIALOG REQUESTS draft-allen-dispatch-routing-out-of-dialog-request-01 Dispatch IETF 92 March 23 rd 2015.
1 Coping with Early Media Brian Stucker Nortel Systems/Standards Architect November 6th, 2006.
MSRP (The Message Session Relay Protocol) 姓名:張文萍 日期: 2007/04/02.
RTP Taxonomy & draft-lennox-raiarea-rtp-grouping-taxonomy-03 IETF 88 1.
SIP wg Items Jonathan Rosenberg dynamicsoft Caller Preferences: Changes Discussion of Redirects –Previous draft only proxy –Nothing different for redirect.
Volker Hilt SIP Session Policies Volker Hilt
Session-Independent Policies draft-ietf-sipping-session-indep-policy-02 Volker Hilt Jonathan Rosenberg Gonzalo.
IP Telephony (VoIP).
IETF 80 MMUSIC WG draft-elwell-mmusic-ice-updated-offer
IP-NNI Joint Task Force Status Update
ECRIT Interim: SIP Location Conveyance
Session Initiation Protocol
Third Party Call Control(3pcc)
IP-NNI Joint Task Force Status Update
Network Announcements with SIP
Simulation of Session Initiation Protocol
SIP Session Policies Volker Hilt
SIP Session Timer Glare Handling
Presentation transcript:

Re-INVITE Handling draft-camarillo-sipping-reinvite-00.txt

To Roll Back or not to Roll Back: That is the Question What are the semantics of an error response to a re-INVITE? Section of RFC 3261 says: Requests sent within a dialog, as any other requests, are atomic. If a particular request is accepted by the UAS, all the state changes associated with it are performed. If the request is rejected, none of the state changes are performed. What are the state changes associated with a re-INVITE?

State Changes Changes performed by the re-INVITE and any transactions within it –Dialog target refreshes Generally accepted that target refreshes are special and are never rolled back –Offer/answer exchanges

Situation as Specified Today Initial INVITEs and Re-INVITEs are treated equally –The semantics are based on the method, which is INVITE Full Roll Back –Error response (e.g., 4xx)

Two issues The error response modifies the session parameters but cannot be rejected by the UAC Offer/answer glare detection mechanisms do not consider error responses

The Session Modification Cannot be Rejected On receiving a 4xx, the UAC may not be able to return to the pre-re-INVITE state –Similar issue as offers in 2xx responses to re- INVITEs, described in Section 14.2 of RFC 3261 The UAS MUST ensure that the session description overlaps with its previous session description in media formats, transports, or other parameters that require support from the peer. –The pre-re-INVITE state may not overlap with the current state (e.g., IP address change)

Solution The UAC ACKs and sends an UPDATE right away If the UPDATE beats the ACK (not shown in the figure), the UAS thinks it is a glare situation –New UPDATE needed This whole issue is generally considered to be minor

Glare Conditions (1) UAS notices the glare and rejects the UPDATE. State remains in synch in both scenarios.

Glare Conditions (2) UAC notices the glare. State may (left) or may not (right) remain in synch. UAC generates a new UPDATE (just in case) to get both states in synch.

Glare Conditions (3)

Alternatives to Address These Issues 1.Clarify how to use the current specs to avoid them 2.Specify new different semantics for error responses to re-INVITEs Additional proposals

Additional Proposals Classify session modifications into different categories and specify different rules for different categories Complex in a number of ways –Need logic to classify session modifications and apply the rules specific to each particular modification –Newly defined parameters would need to be classified as well –Impossible to understand the current state by just looking the call flow; details about the messages would be needed

1. Clarify Current Specifications It is clear that –If all the changes requested in a re-INVITE and the transactions within it were executed The UAS generates a 2xx response –If none of the changes were executed The UAS generates an error response What should the UAS generate if some of the changes were executed?

UAS Behavior If changes have already been executed –Dont return an error response to the re-INVITE –UPDATE (OK) to the re-INVITE instead E.g., Accept new IP address but reject video stream (left) Full rollback (right)

CANCEL Handling A CANCEL request triggers a 487 response to the re-INVITE –The 487 response triggers a full rollback –No glare condition possible since UAC knows it is cancelling the re-INVITE If some changes have been executed, the UAS can return a 200 OK to the re-INVITE –This is backwards compatible

Backwards Compatibility There has been changes but the UAC receives an error response anyway –UAC is talking to a legacy UAS UAC can send a new UPDATE to be completely sure that both sides are in synch –This addresses the potential glare condition

2. Specify New Different Semantics Error responses to re-INVITEs do not trigger any rollback The session parameters in use would be the same before and after the error response

Problems (1) Semantics of an error response to an initial INVITE and to a re-INVITE would be different –Initial INVITEs are rolled back (i.e., early media disappears) Legacy UACs would perform a roll back per RFC 3261 while new UASs would not

Problems (2) In normal circumstances (i.e., no preconditions), an error response and a 2xx response to a re- INVITE would have exactly the same effect –We would be creating a new mechanism to do something an existing mechanism already does –CANCEL for re-INVITEs would not have any effect –With preconditions, the error response would stop the precondition negotiation for un-met preconditions

Way Forward? 1.Clarify how to use the current specs Full roll back 2.Specify new different semantics for error responses to re-INVITEs No roll back

Media State under Preconditions draft-camarillo-sipping-precon-00.txt

Background States of a media stream –Preconditions not met –Preconditions met –Media parameters in use Session establishment (initial INVITE) –183 Session Progress –180 Ringing The preconditions for all streams have been met –200 OK

Session Modification Preconditions met –Preconditions signalling informs the UAS when the preconditions on the UACs side have been met –If requested by the UAC, informs the UAC when the preconditions on the UASs side have been met New media parameters in use –UAS starts using them –UAC notices it at the media level –200 OK response to the re-INVITE

Issue The UAS can start using new media parameters before sending the 200 OK to the re-INVITE –Audio-only session –Change in IP address plus addition of video –The change in IP address for the audio stream requires that Its preconditions are met –The addition of the video stream requires that Its preconditions are met The user accepts it Intermediaries (e.g., B2BUAs) cannot know when the new parameters start being used –A similar issue was found in previous specs of ICE; the SIP signalling was not explicit enough for intermediaries to do the right thing

Typical Message Flow

Explicit Message Flow

Message Details How to signal that a stream is in use Removing the precondition attributes –Regular semantics of a stream in plain SDP m=audio RTP/AVP 0 c=IN IP a=curr:qos e2e sendrecv a=des:qos mandatory e2e sendrecv Preconditions met m=audio RTP/AVP 0 c=IN IP Stream in use