Subject: Re: [sixpac] charter proposal - correlation between SIP and XMPP

From: Robert Sparks <[email-masked]>
Date: Mon, 6 Dec 2010 15:29:54 -0600

Discussion on this and the other threads appears to be stalling. Can we draw some conclusions?

For this thread, I think Markus was trying to soften (maybe remove?) this goal:
>> - Correlating an XMPP IM session with a SIP voice/video session, and
>> vice-versa
> 

This is a place I think a group could get really stuck - as markus hints at below, how is this not going
to run into the same set of issues (and run into the same set of problems trying to specify a solution for)
that Hadriel's SIPSCOTCH proposal is having?

RjS

On Nov 11, 2010, at 11:06 AM, <[email-masked]> <[email-masked]> wrote:

> Hi,
> 
> The charter says:
> 
>> - There is no correlation between an XMPP IM session and a SIP voice
>> or video session, thus preventing a dual-stack endpoint from providing
>> integrated user interfaces and communications history
> 
> It has been pointed out that in SIP we may have practical challenges to achieve this with a high likelihood. This means that if our solution is based on some kind of token that is exchanged between the two SIXPAC clients over SIP (so that they can replay it later on over XMPP for correlation), and if we put that token in some kind of a new header, it is possible that B2BUA's on the path will "eat" such headers out. So as a practical consideration we have to think about what happens if that kind of exchange fails.
> 
> As a matter of fact, I don't think that such a correlation token is absolutely necessary for a good user experience. But we do need this:
> 
>> - Advertising a SIP account address over XMPP and an XMPP account
>> address over SIP
> 
> I don't think there is a reason to change our charter at all because of this, but this is perhaps something that we could cover in the use cases and requirements document.
> 
> Markus
> 
> 
>> -----Original Message-----
>> From: [email-masked] [mailto:[email-masked]] On Behalf
>> Of ext Peter Saint-Andre
>> Sent: 11 November, 2010 09:42
>> To: [email-masked]
>> Subject: [sixpac] charter proposal
>> 
>> To kick off discussion, here is the charter as I sent it to the
>> [email-masked] list a while back, with removal of a clause about
>> working on user configuration, which I think is a large rathole.
>> 
>> Let's discuss and get busy!
>> 
>> /psa
>> 
>> ========================================================================
>> =
>> SIXPAC (SIP Integration with XMPP in Presence Aware Clients)
>> ========================================================================
>> =
>> 
>> Problem Statement
>> 
>> Both the Session Initiation Protocol (SIP) and the Extensible Messaging
>> and Presence Protocol (XMPP) are widely deployed technologies for real-
>> time communication over the Internet.  In order to offer a complete
>> suite of features as well as communication across multiple networks,
>> several user-oriented software applications support both SIP and XMPP,
>> and more software developers have expressed interest in building such
>> "dual-stack" solutions.  Unfortunately, it is difficult to provide a
>> good end-user experience in such applications because SIP and XMPP are
>> not "aware" of each other.  For example:
>> 
>> - XMPP presence does not include availability states related to a SIP
>> voice call or video call (e.g., "on the phone"), thus preventing an
>> a dual-stack endpoint from showing presence-based communication hints
>> 
>> - There is no correlation between an XMPP IM session and a SIP voice
>> or video session, thus preventing a dual-stack endpoint from providing
>> integrated user interfaces and communications history
>> 
>> - SIP accounts and XMPP accounts are not directly correlated in contact
>> lists or vCards (and not all deployed services support storage of such
>> information), thus preventing a dual-stack endpoint from knowing that
>> a contact has both SIP and XMPP capabilities
>> 
>> Although some proprietary solutions exist to the foregoing problems, it
>> would be preferable to define standardized solutions for the sake of
>> improved interoperability.
>> 
>> Objectives
>> 
>> Because both SIP and XMPP are easily extended through new SIP headers
>> and XMPP elements, it should be possible to provide tighter integration
>> within dual-stack SIP/XMPP user agents to improve the user experience.
>> 
>> Any such extensions should meet the following criteria:
>> 
>> - Be completely optional and backwards-compatible for all endpoints
>> 
>> - Work without changes to deployed infrastructure such as existing
>> SIP and XMPP servers, B2BUAs, firewalls, etc.
>> 
>> The SIXPAC WG will define a small number of SIP and XMPP extensions to
>> solve the following use cases in dual-stack endpoints:
>> 
>> - Including SIP-based availability states in XMPP presence (limited to
>> basic presence and availability states only, not the full range of
>> PIDF extensions)
>> 
>> - Correlating an XMPP IM session with a SIP voice/video session, and
>> vice-versa
>> 
>> - Advertising a SIP account address over XMPP and an XMPP account
>> address over SIP
>> 
>> Additional use cases are out of scope, including anything related to or
>> requiring server integration, multiparty communication, SIP-based IM and
>> presence, XMPP-based voice and video, file transfer, generalized service
>> discovery and capabilities exchange, full protocol translation in
>> communication gateways, shared credentials across both SIP and XMPP
>> accounts, rich presence extensions for features such as geolocation,
>> etc. Although such topics are important and interesting, they are out of
>> scope for this group.
>> 
>> However, in addition to the protocol extensions explicitly mentioned
>> above, the group may also define best practices related to the
>> implementation and deployment of dual-stack SIP/XMPP endpoints.
>> 
>> Deliverables
>> 
>> - Use cases and protocol requirements
>> 
>> - XMPP presence extension for SIP-based availability states
>> 
>> - Media session correlation extensions for SIP and XMPP
>> 
>> - Contact address advertisement extensions for SIP and XMPP
>> 
>> - Best practices for implementation and deployment of dual-stack
>> endpoints
>> 
>> Milestones
>> 
>> Feb 2011  Submit use cases and protocol requirements document to IESG
>> (Informational)
>> 
>> Oct 2011  Submit XMPP presence extension document to IESG (Standards
>> Track)
>> 
>> Oct 2011  Submit media session correlation extensions document to IESG
>> (Standards Track)
>> 
>> Oct 2011  Submit contact address advertisement extension document to
>> IESG (Standards Track)
>> 
>> Oct 2011  Submit best practices document to IESG (Informational)
>> 
> 
> _______________________________________________
> sixpac mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/sixpac

---

From: Peter Musgrave <[email-masked]>
Date: Mon, 6 Dec 2010 16:44:26 -0500

Hi Robert, 

I agree that session correlation is a snake pit. (Since we can't even get to agreeing on it as it traverses a B2BUA I think correlation with XMPP is going to be ugly^2 or maybe even e^(ugly) ). 

I continue to be interested in the work here primarily from an XMPP identity/SIP identity correlation perspective - I will find some time to read the appropriate background material...

Peter Musgrave

---

From: Peter Musgrave <[email-masked]>
Date: Mon, 6 Dec 2010 18:40:26 -0500

Hi all,

I have returned to http://tools.ietf.org/html/draft-veikkolainen-sip-xmpp-coex-reqs-01 (now expired). 

The use cases make sense to me. I think to make them crisper it would be useful to extend it to consider the cases where I have two SIP devices registered to the same AOR and two XMPP clients (one each on the same two devices) logged in. I think this encompasses the potential corner cases. 

If the charter decides to forgo session correlation then REQ-2 will need to reflect this (It speaks to XMPP carrying SIP session information). 

Other than that I think the identity correlation requirements it describes are useful. 

Regards, 

Peter Musgrave

---

From: <[email-masked]>
Date: Mon, 13 Dec 2010 09:06:37 +0100

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of ext Peter Musgrave
Sent: 07 December, 2010 01:40
To: Robert Sparks
Cc: [email-masked]
Subject: Re: [sixpac] charter proposal - correlation between SIP and XMPP

Hi all,

[Simo] The -01 version expires Feb 23rd, 2011; maybe you took a look at the previous version? (But even that's ok since there are few changes only in -01.)

[Simo] You mean a case when I have two dual-stack endpoints registered at the same time? I agree this might be something we want to say something on, since developers will be facing the issue anyway. The simplest way would probably be that everything works as they do currently: If the other party wants to extend the IM conversation we have with a SIP call, and he send a SIP INVITE to my AOR, all my registered UA instances ring. On the other hand, he might choose to send the SIP INVITE to my GRUU only, and in this case only a specific UA instance gets the call. And the same way around with SIP call extended with XMPP IM. Would that be enough, or do we want to build something more elaborate?

-Simo

Regards, 

Peter Musgrave

---

From: Peter Musgrave <[email-masked]>
Date: Mon, 13 Dec 2010 09:23:58 -0500

Hi,

Yes, the case you describe is one. The other would be one dual-stack
device and two other devices, one with a SIP reg and the other with an
XMPP reg.

I agree that the response could be to e.g ring the SIP device by AOR
or GRUU (and the converse would be send an IM to both clients).

I don't see a need for anything more than that - but I think thinking
about how what is prescribed works in this environment will be
helpful.

Peter Musgrave