Re: [Stox] AD Evaluation of draft-ietf-stox-7248bis-05

"Ben Campbell" <> Tue, 29 September 2015 03:32 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id A9F501B2DA0; Mon, 28 Sep 2015 20:32:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 19Fykxw7mQzv; Mon, 28 Sep 2015 20:32:44 -0700 (PDT)
Received: from ( [IPv6:2001:470:d:1130::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 579A91B2D8E; Mon, 28 Sep 2015 20:32:44 -0700 (PDT)
Received: from [] ( []) (authenticated bits=0) by (8.15.2/8.14.9) with ESMTPSA id t8T3WVFN053391 (version=TLSv1 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Mon, 28 Sep 2015 22:32:42 -0500 (CDT) (envelope-from
X-Authentication-Warning: Host [] claimed to be []
From: Ben Campbell <>
To: Peter Saint-Andre - &yet <>
Date: Mon, 28 Sep 2015 22:32:31 -0500
Message-ID: <>
In-Reply-To: <>
References: <> <> <> <>
MIME-Version: 1.0
Content-Type: text/plain; format="flowed"
X-Mailer: MailMate (1.9.2r5107)
Archived-At: <>
Subject: Re: [Stox] AD Evaluation of draft-ietf-stox-7248bis-05
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: SIP-TO-XMPP Working Group discussion list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 29 Sep 2015 03:32:45 -0000

On 28 Sep 2015, at 21:39, Peter Saint-Andre - &yet wrote:

> On 9/24/15 11:55 AM, Ben Campbell wrote:

>>>> -- note 7:
>>>> Do you expect a SIP Presence UA to do something useful with the 
>>>> <show/>
>>>> element ? Most will probably ignore it.
>>> Losing that information along the way would guarantee that a 
>>> presence
>>> UA can't do something useful with it; preserving the information 
>>> seems
>>> helpful.
>> Okay. It might be worth a note that the sender should not depend on 
>> the
>> receiver to render it.
> Actually the XMPP sender (or the sender's client) doesn't necessarily 
> know that the receiver is a SIP user. Therefore I'm not sure what we 
> can say about the sender. At most perhaps we can add a sentence like 
> this:

Of course, by "sender", I meant "gateway" :-)

>     However, there is no guarantee that the SIP receiver will render
>     a standard XMPP <show/> value or custom extension.


>>>> -2nd paragraph after example 11:
>>>> This also needs a NOTIFY. You mention one in the following 
>>>> paragraph for
>>>> the declined case, but you need one in either case.
>>> Yes. The XMPP server will generate a presence notification in this
>>> case, so that's the primary NOTIFY of interest here, I think.
>> I think it's still worth mentioning that it happens. And that brings 
>> up
>> another question: A RFC 6665 notifier is required to send an 
>> "immediate"
>> NOTIFY. Do you think the presence stanza will reliably arrive at the
>> gateway in time to be considered "immediate"? If there's any 
>> likelihood
>> of delay, the gateway may need to send a "pending" NOTIFY.
> Not sure. I'll think about that some more.

It might be reasonable to punt this to the implementation to decide, 
with some guidance about what to do if you can't immediately send a 
"real" NOTIFY. And on reflection, this gets tangled up with 
authorization--the "pending" NOTIFY is more to say the authorization has 
not yet been determined. If the subscriber is known to be authorized, 
then rather than a "pending" NOTIFY it might just send a normal NOTIFY 
with some default presence state, then send the real presence when it 
gets it. (The subscriber's user experience might be a to initially see 
the entity as "closed" then quickly transition to "open".)


>>>> Also, how does this violate the SIP semantic?
>>> There's a mismatch in the meaning of subscribe. Treating a SIP
>>> subscription as if it were long-lived means the gateway follows the
>>> XMPP subscription model, not the SIP subscription model. A gateway
>>> implementer needs to choose which model to honor, and if it chooses
>>> the XMPP model then it's not honoring the SIP model (and 
>>> vice-versa).
>> I think this depends on the resolution to the previous comment, but I
>> would say that if the protoocl behavior expectations of the SIP
>> subscriber are met, the semantic has not been violated.
> Maybe. :-)
> It still seems to me that the gateway is enforcing one model or the 
> other. Perhaps "violate" is a strong word in this context, though.

I think we may be reading too much into the "ephemeral" subscription 
model, while still trying to think of an xmpp subscription and a SIP 
subscription of modeling the same thing. Both XMPP and SIP have an 
ephemeral component and a long-lived component. In XMPP, the 
subscription is long lived, and the presence session is relatively 
ephemeral. In SIP, the authorization policy, and the presence of an 
entity on a contact list are long lived, and the subscription is 

So if we think of an XMPP subscription as equivalent to SIP subscriber 
authorization, and an XMPP presence session as equivalent to a SIP 
subscription, I think we can avoid violence to the assumptions of either