Re: [xmpp] 3921bis: probe + unavailable

Peter Saint-Andre <stpeter@stpeter.im> Mon, 01 February 2010 20:46 UTC

Return-Path: <stpeter@stpeter.im>
X-Original-To: xmpp@core3.amsl.com
Delivered-To: xmpp@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 14D2B3A699F for <xmpp@core3.amsl.com>; Mon, 1 Feb 2010 12:46:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0nPJR8jSnpEO for <xmpp@core3.amsl.com>; Mon, 1 Feb 2010 12:46:19 -0800 (PST)
Received: from stpeter.im (stpeter.im [207.210.219.233]) by core3.amsl.com (Postfix) with ESMTP id D3DCE3A6765 for <xmpp@ietf.org>; Mon, 1 Feb 2010 12:46:18 -0800 (PST)
Received: from leavealone.cisco.com (72-163-0-129.cisco.com [72.163.0.129]) (Authenticated sender: stpeter) by stpeter.im (Postfix) with ESMTPSA id 8768840332 for <xmpp@ietf.org>; Mon, 1 Feb 2010 13:46:53 -0700 (MST)
Message-ID: <4B673DBC.1020406@stpeter.im>
Date: Mon, 01 Feb 2010 13:46:52 -0700
From: Peter Saint-Andre <stpeter@stpeter.im>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.7) Gecko/20100111 Thunderbird/3.0.1
MIME-Version: 1.0
To: xmpp@ietf.org
References: <4B6202CF.6070702@stpeter.im> <14795.1264714828.295077@puncture> <42E4D3A6-6F8A-4005-8563-18F8CF934971@webkeks.org> <4B62F78E.1030400@stpeter.im> <12A2144C-5AEB-44B4-BFC6-C8D8DC66CC3E@webkeks.org> <4B63609C.2000702@stpeter.im> <1764944E-D3E1-4BD5-BAF2-D84380983438@webkeks.org> <a74e91db1001301429g6c69bc10xddfc3a59baf2ac5b@mail.gmail.com> <952A4B1F81123B479292D4B5FDC00D8503BA5E39@SRV-EXSC03.webex.local>
In-Reply-To: <952A4B1F81123B479292D4B5FDC00D8503BA5E39@SRV-EXSC03.webex.local>
X-Enigmail-Version: 1.0
OpenPGP: url=http://www.saint-andre.com/me/stpeter.asc
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha1"; boundary="------------ms020707040906070407090302"
Subject: Re: [xmpp] 3921bis: probe + unavailable
X-BeenThere: xmpp@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: XMPP Working Group <xmpp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/xmpp>, <mailto:xmpp-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/xmpp>
List-Post: <mailto:xmpp@ietf.org>
List-Help: <mailto:xmpp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/xmpp>, <mailto:xmpp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 01 Feb 2010 20:46:20 -0000

On 2/1/10 12:56 PM, Ben Schumacher wrote:
> On 01/30/2010 03:29 PM, Jonas Lindberg wrote:
>> While I agree this would simplify the protocol a little, I am not
>> convinced it is a change worth making.
>>
>> First of all, not responding to probe when unavailable is a pretty
>> good optimization. A large part of Xmpp traffic is presence. This
>> change would further significantly increase the presence traffic,
>> making scaling more challenging and adding load to c2s and s2s
>> connections. For example, a cell phone xmpp client may be better off
>> not getting potentially thousands of presence unavailable stanzas for
>> offline friends when connecting over gprs.
>>
>> I'm also not convinced this change make it significantly easier to
>> implement xmpp clients/servers. Especially if we are going to
>> recommend that clients and servers SHOULD cope with no response for
>> legacy reasons.
>>
> 
> Jonas-
> 
> I agree with your points -- it would likely result in extra traffic.
> That being said, I much prefer this to the ambiguity (and potential
> presence leak) of the prior language. As it happens, servers and clients
> will *always* have to cope with no response as this is a network'd
> service and packets can get lost, etc, so I'm not sure the language
> should be "SHOULD" re: legacy services, but rather maybe a note that
> indicates that you may not get a response.

Version -03 of 3921bis currently reads:

   2.  Else, if the contact has no available resources, then the server
       SHOULD reply to the presence probe by sending to the user the
       full XML of the last presence stanza of type "unavailable"
       received by the server from the contact (however, the server MAY
       opt to not reply at all).

My working copy of 3921bis proposes:

   2.  Else, if the contact has no available resources, then the server
       MUST reply to the presence probe by sending to the user a
       presence stanza of type "unavailable"; this presence stanza MAY
       include the full XML of the last unavailable presence stanza that
       the server received from the contact, if appropriate in
       accordance with local security policies, otherwise it will
       indicate only that the contact is unavailable.

   CS: <presence from='mercutio@example.com'
                 to='juliet@example.com'
                 type='unavailable'/>

I understand that the MUST here is an imposition on servers. IMHO the
deterministic nature of the unavailable has many benefits, but I can see
why large service providers would prefer to return a stanza to the
probing user only if the contact is online. So I think it's good that we
discuss the tradeoffs here.

Peter

-- 
Peter Saint-Andre
https://stpeter.im/