Re: [Sip] WGLC for PUBLISH
"Niemi Aki (Nokia-M/Helsinki)" <aki.niemi@nokia.com> Tue, 20 January 2004 14:04 UTC
Received: from optimus.ietf.org ([132.151.1.19]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id JAA29974 for <sip-archive@odin.ietf.org>; Tue, 20 Jan 2004 09:04:01 -0500 (EST)
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1AiwTb-00068X-Dc for sip-archive@odin.ietf.org; Tue, 20 Jan 2004 09:03:32 -0500
Received: (from exim@localhost) by www1.ietf.org (8.12.8/8.12.8/Submit) id i0KE3V25023588 for sip-archive@odin.ietf.org; Tue, 20 Jan 2004 09:03:31 -0500
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1AiwT7-00061w-Uh; Tue, 20 Jan 2004 09:03:01 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1AiwSd-0005xY-Hk for sip@optimus.ietf.org; Tue, 20 Jan 2004 09:02:31 -0500
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id JAA29941 for <sip@ietf.org>; Tue, 20 Jan 2004 09:02:29 -0500 (EST)
Received: from ietf-mx ([132.151.6.1]) by ietf-mx with esmtp (Exim 4.12) id 1AiwSc-0001D9-00 for sip@ietf.org; Tue, 20 Jan 2004 09:02:30 -0500
Received: from exim by ietf-mx with spam-scanned (Exim 4.12) id 1AiwRk-0001A0-00 for sip@ietf.org; Tue, 20 Jan 2004 09:01:37 -0500
Received: from mgw-x4.nokia.com ([131.228.20.27]) by ietf-mx with esmtp (Exim 4.12) id 1AiwR6-00016A-00 for sip@ietf.org; Tue, 20 Jan 2004 09:00:56 -0500
Received: from esvir03nok.nokia.com (esvir03nokt.ntc.nokia.com [172.21.143.35]) by mgw-x4.nokia.com (Switch-2.2.8/Switch-2.2.8) with ESMTP id i0KE0sY04097 for <sip@ietf.org>; Tue, 20 Jan 2004 16:00:55 +0200 (EET)
Received: from esebh002.NOE.Nokia.com (unverified) by esvir03nok.nokia.com (Content Technologies SMTPRS 4.2.5) with ESMTP id <T67406c0dd8ac158f23077@esvir03nok.nokia.com>; Tue, 20 Jan 2004 16:00:54 +0200
Received: from nokia.com ([172.21.98.221]) by esebh002.NOE.Nokia.com with Microsoft SMTPSVC(5.0.2195.6747); Tue, 20 Jan 2004 16:00:53 +0200
Message-ID: <400D3495.5010109@nokia.com>
Date: Tue, 20 Jan 2004 16:00:53 +0200
From: "Niemi Aki (Nokia-M/Helsinki)" <aki.niemi@nokia.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6b) Gecko/20031205 Thunderbird/0.4
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: ext OKUMURA Shinji <shin@softfront.co.jp>
CC: sip@ietf.org
Subject: Re: [Sip] WGLC for PUBLISH
References: <200401151049.AA03044@mail2.softfront.co.jp> <98C7D2E5BCD2374C9AAE0BCD2E9C1DD9027D92C9@esebe013.ntc.nokia.com> <200401201059.AA03088@mail2.softfront.co.jp>
In-Reply-To: <200401201059.AA03088@mail2.softfront.co.jp>
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 20 Jan 2004 14:00:53.0899 (UTC) FILETIME=[D1A945B0:01C3DF5D]
X-Spam-Checker-Version: SpamAssassin 2.60 (1.212-2003-09-23-exp) on ietf-mx.ietf.org
X-Spam-Status: No, hits=0.1 required=5.0 tests=AWL autolearn=no version=2.60
Content-Transfer-Encoding: 7bit
Sender: sip-admin@ietf.org
Errors-To: sip-admin@ietf.org
X-BeenThere: sip@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/sip>, <mailto:sip-request@ietf.org?subject=unsubscribe>
List-Id: Session Initiation Protocol <sip.ietf.org>
List-Post: <mailto:sip@ietf.org>
List-Help: <mailto:sip-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/sip>, <mailto:sip-request@ietf.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Hi Shinji, The key thing here is that there is nothing special about how a proxy determines the next hop target for PUBLISH requests. There are several options to doing this: - A domain has configured all PUBLISH requests to be forwarded to a PA - A PA has explicitly added an address binding for that AOR, possibly using the SIP registration - All requests get forwarded to a UA (no matter what the method is) that has an active address binding in the domain's location service for that AoR - The request gets targeted using some other, undefined logic The administrator for that domain just needs to pick a way of doing this. So when proxying a PUBLISH request, Section 16 in RFC 3261 applies in full. Cheers, Aki ext OKUMURA Shinji wrote: > Hi Aki, > > Thank you for your comments. > > You say that R-uri is used to determine what resource the PUBLISH is > targeted for. But R-uri has the possibility to be rewritten by proxy. > > > Even if PUA sends "sip:presentity@example.com", > "sip:presentity@pa.example.com" may reach to PA. > > Now my questions are: > > a) PUBLISH message MUST NOT pass proxy? > > b) proxy MUST NOT rewrite R-uri? > > b-1. the uri MUST NOT be registered? b-2. Register-Contact is > <sip:presentity@example.com;maddr=pa.example.com> ? b-3. original > message has Route: <sip:pa.example.com;lr> ? > > c) PA MUST determine the target resource ONLY by username of R-uri? > > Best regards, > > > Shinji > > aki.niemi@nokia.com wrote in > <98C7D2E5BCD2374C9AAE0BCD2E9C1DD9027D92C9@esebe013.ntc.nokia.com> > >> Hi Shinji, >> >> Thanks for the comments. Answers inline. >> >> >>> -----Original Message----- From: ext OKUMURA Shinji >>> [mailto:shin@softfront.co.jp] Sent: 15 January, 2004 12:49 To: >>> Rohan Mahy Cc: sip@ietf.org; Dean Willis; Niemi Aki >>> (Nokia-M/Helsinki) Subject: Re: [Sip] WGLC for PUBLISH >>> >>> >>> Hi, >>> >>> [1] I believe it requires following changes in some headers of >>> the illustrated example in section 12. >>> >>> In M1, Contact: <sip:watcher@example.com> should be rewritten >>> as Contact: <sip:watcher@10.0.0.1> >>> >>> >>> In M2, Contact: <sip:pa@example.com> should be Contact: >>> <sip:pa.example.com> >>> >>> In M3, NOTIFY sip:presentity@example.com SIP/2.0 Via: >>> SIP/2.0/UDP pa.example.com;branch=z9hG4bK8sdf2 To: >>> <sip:watcher@example.com>;tag=12341234 From: >>> <sip:presentity@example.com>;tag=abcd1234 Call-ID: >>> 12345678@10.0.0.1 CSeq: 1 NOTIFY .... >>> >>> should be >>> >>> NOTIFY sip:watcher@10.0.0.1 SIP/2.0 Via: SIP/2.0/UDP >>> pa.example.com;branch=z9hG4bK8sdf2 To: >>> <sip:watcher@example.com>;tag=12341234 From: >>> <sip:presentity@example.com>;tag=abcd1234 Call-ID: >>> 12345678@10.0.0.1 CSeq: 1 NOTIFY Contact: <sip:pa.example.com> >>> .... >> >> All true. Also, since the Via contains a domain name, I will add a >> "received" param to the Via in the response. >> >> It's very good that you pointed out these mistakes in the examples. >> I swear, I've looked at them a few times before, but I guess my >> internal SIP parser is so well built that it never gave me an error >> message. ;-) >> >> I'll fix these for the next revision. >> >> >>> [2] It could be helpful if the following example (2) is added in >>> the document as an addition to the only example (1) illustrated >>> in section 12. >> >> I'm a little reluctant to adding this. There are excellent SIP call >> flows already documented elsewhere (see RFC 3665, e.g., Section >> 3.2), and to this particular method, adding a proxy in between the >> PUA and the PA works no different from how this works for other >> methods (MESSAGE, INVITE). I.e., the proxy rewriting the >> Request-URI follows the same logic as the other methods would. >> >> However, since this issue has come up before, it might be a good >> idea to add a proxy between the PUA and PA. Any other views on >> this? >> >> >>> (1) PUA <---> PA <---> WATCHER >>> >>> (2) PUA <---> proxy <---> PA >>> >>> For example: >>> >>> PUA <-----> proxy <------> PA | | | | M1 >>> PUBLISH | | |----------->| M2 PUBLISH | | >>> |----------->| | | M3 200 OK | | M4 200 OK >>> |<-----------| |<-----------| | >>> >>> M1: PUBLISH sip:pa@example.com SIP/2.0 Via: SIP/2.0/UDP >>> pua.example.com;branch=z9hG4bK652hsge From: >>> <sip:presentity@example.com>;tag=1234wxyz To: >>> <pres:presentity@example.com> Call-ID: 81818181@pua.example.com >>> CSeq: 1 PUBLISH Max-Forwards: 70 Expires: 3600 Event: presence >>> Content-Type: application/pidf+xml Content-Length: ... >> >> Note that the Request-URI needs to be 'sip:presentity@example.com'. >> PUBLISH is specifically addressed to the resource, not the presence >> agent. >> >> >>> M2: PUBLISH sip:pa.example.com SIP/2.0 Via: SIP/2.0/UDP >>> proxy.example.com;branch=z9hG4bKpx123 Via: SIP/2.0/UDP >>> pua.example.com;branch=z9hG4bK652hsge From: >>> <sip:presentity@example.com>;tag=1234wxyz To: >>> <pres:presentity@example.com> Call-ID: 81818181@pua.example.com >>> CSeq: 1 PUBLISH Max-Forwards: 70 Expires: 3600 Event: presence >>> Content-Type: application/pidf+xml Content-Length: ... >> >> The proxy would rewrite the Request-URI, but probably to something >> like 'sip:presentity@pa.example.com'. Note that when the request is >> received by the PA/ESC, it specifically uses the Request-URI to >> determine what resource the PUBLISH is targeted for. This is >> identical to a SUBSCRIBE. >> >> >>> M3: SIP/2.0 200 OK Via: SIP/2.0/UDP >>> proxy.example.com;branch=z9hG4bKpx123 Via: SIP/2.0/UDP >>> pua.example.com;branch=z9hG4bK652hsge From: >>> <sip:presentity@example.com>;tag=1234wxyz To: >>> <pres:presentity@example.com>;tag=1a2b3c4d Call-ID: >>> 81818181@pua.example.com CSeq: 1 PUBLISH SIP-ETag: dx200xyz >>> Expires: 1800 Content-Length: 0 >>> >>> M4: SIP/2.0 200 OK Via: SIP/2.0/UDP >>> pua.example.com;branch=z9hG4bK652hsge From: >>> <sip:presentity@example.com>;tag=1234wxyz To: >>> <pres:presentity@example.com>;tag=1a2b3c4d Call-ID: >>> 81818181@pua.example.com CSeq: 1 PUBLISH SIP-ETag: dx200xyz >>> Expires: 1800 Content-Length: 0 >>> >>> [3] It could be better if the "Request-URI" is used as the >>> message's target address and the 'Presence Resource' is specified >>> using "To" header. >>> >>> It would be easy for understanding if REGISTER's location >>> registration operation like mechanism is considered. >> >> This is actually how PUBLISH used to work. But having the >> Request-URI point to a PA requires special handling from the >> proxies and/or a specific naming convention for PAs to be able to >> route the request. So we decided to reject the REGISTER-like >> operation (determining the resource by the To-field) in favor of >> the SUBSCRIBE-like behavior the draft currently has. >> >> >>> The same point could also be said about RFC3265. This is because, >>> >>> >>> |3.1.5. Proxy SUBSCRIBE Behavior | Proxies need no additional >>> behavior beyond that described in SIP [1] | to support >>> SUBSCRIBE. >>> >>> [4] For expressing 'Presence Resource', the >>> pres-URI(draft-ietf-impp-pres-04) would be better than that of >>> the sip-URI. >>> >>> Finally, when [3] & [4] are considered together, the various >>> usages of URI can be expressed as listed below. >>> >>> +------------+-----------------------------+----------------- >>> ------------+-----------------------------+ | | >>> PUBLISH | SUBSCRIBE | NOTIFY >>> | +------------+-----------------------------+----------------- >>> ------------+-----------------------------+ |Request-URI | URI of >>> PA | URI of PA | Contact-URI of SUBSCRIBE | >>> | | sip:pa@example.com | sip:pa@example.com >>> | sip:watcher.example.com | >>> +------------+-----------------------------+----------------- >>> ------------+-----------------------------+ |To-URI | URI of >>> presence resource | URI of presence resource | From-URI of >>> SUBSCRIBE | | | pres:presentity@example.com | >>> pres:presentity@example.com | sip:watcher@example.com | >>> +------------+-----------------------------+----------------- >>> ------------+-----------------------------+ |From-URI | URI of >>> presentity | URI of watcher | To-URI of SUBSCRIBE >>> | | | sip:presentity@example.com | >>> sip:watcher@example.com | pres:presentity@example.com | >>> +------------+-----------------------------+----------------- >>> ------------+-----------------------------+ >> >> Adding to my previous comments, how would the UA find out the >> address of a PA that services the presentity? We can't mandate a >> specific naming convention for PAs in general, which is why the >> Request-URI is always the address of the subscribed/published >> resource. >> >> Note that one valid location for a PA is in the client device. >> Because of the way PUBLISH and SUBSCRIBE currently work, this >> requires nothing special from a proxy - it simply >> forwards/redirects these requests to the UA like any other request >> for that AoR. >> >> Cheers, Aki >> >> >>> Regards, shinji >>> >>> Rohan Mahy wrote in >>> <C3094B8F-4563-11D8-B291-0003938AF740@cisco.com> >>> >>>> Hi, >>>> >>>> I'd like to begin Working Group Last Call for PUBLISH: >>>> >>>> >>> >>> http://www.ietf.org/internet-drafts/draft-ietf-sip-publish-02.txt >>> >>> >>>> This WGLC will end on January 28, 2004. >>>> >>>> thanks, -rohan _______________________________________________ Sip mailing list https://www1.ietf.org/mailman/listinfo/sip This list is for NEW development of the core SIP Protocol Use sip-implementors@cs.columbia.edu for questions on current sip Use sipping@ietf.org for new developments on the application of sip
- [Sip] WGLC for PUBLISH Rohan Mahy
- Re: [Sip] WGLC for PUBLISH OKUMURA Shinji
- Re: [Sip] WGLC for PUBLISH OKUMURA Shinji
- RE: [Sip] WGLC for PUBLISH aki.niemi
- Re: [Sip] WGLC for PUBLISH OKUMURA Shinji
- Re: [Sip] WGLC for PUBLISH Niemi Aki (Nokia-M/Helsinki)
- Re: [Sip] WGLC for PUBLISH OKUMURA Shinji
- Re: [Sip] WGLC for PUBLISH Niemi Aki (Nokia-M/Helsinki)