Notes by Bert Culpepper, Day 2, 2nd session ------------------------------------------------------------------------ Interim meeting 2/9/01 Open issues discussion Jonathan led the discussion using his list of issues presented at 49th IETF ( http://www.cs.columbia.edu/~jdrosen/papers/sipwgdec00_issues.ppt ). Most will be resolved in the bis. Those not resolved as of the last WG meeting include: Meaning of call-id, SDP semantics, overlapping transactions, multiple from fields, early media, transfer out of consultation, request URI parameters, bye/also, re-invite glare, pre-loaded route headers, SRV randomization issues, overlap dialing, message/header length restrictions bug of handling of unknown 1xx messages as 100, this is a problem with 183. solution is to forward all unknown 1xx messages upstream. Bill's proposal is for all UAs include "proxy require: bis" header. Shouldn't be needed if default proxy behavior is to forward all unknown 1xx messages upstream. The bis will have this issue clarified. Discussed record-route issue (including what transport is supported by next hop) being closed, Jonathan posted text to the SIP list. Meaning of call-ID: issue-what is the meaning of a receiving an invite with a call-id that matches an existing call leg (but different From). consensus is it's not an error nor does it mean anything. SDP semantics: issue-what is exactly the exchange procedure? consensus was that it's only to occur in two places: in the offer and answer. SDP in either INV/200 or 200/ACK. Meaning of reINVITE with out SDP: (editor's note: didn't capture the consensus.) Early Media: issues 1-no way to modify it once started, 2-can't transfer while on hold. 3- can't put media on hold. 4-problems with forking. 5-early media may not match the code it comes in (e.g. 180 & fast busy tone). 6-requires PRACK. 7-eliminates possibility of sequential searches. The following table shows the problems that apply to the three cases where early media exist. reverse media reverse+1xx forward early media can't modify once started can't modify once started can't modify once started forking (matching) forking (bandwidth) can't hang-up just one branch requires PRACK The bandwidth problem (caller can receive multiple RTP streams and not support combined bandwidth) introduces a requirement to be able to refuse a media stream. The can't hang-up problem (caller can't CANCEL individual branches prior to final responses of a forked request) introduces a requirement to have a reverse message. A reverse INVITE was talked about as a possible solution, a requires header will be needed for this approach. Another consideration is with PSTN Gateways - they need to know when to send 200 OK vs. 1xx. consensus: bis will say UAs SHOULD NOT send media prior to 200 OK, but not forbid it. There will be a separate draft for early media. ISUP I-D authors should update isup draft to discuss when gateways send 200 or 180. Timestamp headers: issue-which response to reflect timestamp. The useful purpose of the header is in 100 for RTT determination. consensus: supply the timestamp header in all responses, specifically 100 Trying. Message/header lengths: issue-1500 message limit exceeded frequently, implementations limit header or parameter sizes. Proposals are 1) to allow up to 64K, 2) should allow any number of each header (via, record-route), 3) should allow headers of any size (not beyond message size limit). A recommended UA behavior is to put the important headers (those needed for response routing) up front. So endpoints can send an error response about the message being too big. Normative text on max messages size is long term. May need a forward message indicating max supported length so proxies can gracefully "refuse" request or not record-route if doing so will result in message length exceeding that supported by the UA. multiple from fields: - conclusion: future work, will be a SIP extension. BYE/Also - has been removed from bis draft, the consensus is that this is deprecated. May be documented in an information I-D that becomes a historical RFC to support existing implementations that use it. New implementations should use REFER. Rick indicated he'd put together this draft. Robert Sparks will take ownership of this issue on the SIP list. Overlapping Transactions: issue-can a new transaction start while one is in progress. Proposal: allow overlapping under specific conditions, 1) final response for the new transaction is not dependent on final response of the previous transaction, 2) transactions do not affect state of each other, 3) can only do them once tags/routes obtained from provisional response of outstanding request. It is thought sending a request prior to completion of a pending request should be OK under these condition for most methods. Exception is the INVITE method. Could be a problem for other methods if CANCEL is used with the method (since specific request to cancel can't be determined if more than one is pending). Action: need to find out if anyone implemented CANCEL for any method other than INVITE before documenting the resolution.