Subject: [Simple] Controversial: Have SIMPLE reached is goal? Or is it an IETF failure?

From: Olle E. Johansson <[email-masked]>
Date: Sat, 13 Oct 2012 14:31:18 +0200

Hello,

The SIMPLE workgrup chartar says:

"The IETF has committed to 
producing an interoperable standard for these services compliant to 
the requirements for IM outlined in RFC 2779 (including the security 
and privacy requirements there) and in the Common Profile for Instant 
Messaging (CPIM) specification, developed within the IMPP working 
group."

From testing various SIP clients with SIMPLE support, I think the IETF is far away from this goal - the "interoperable" part.

I see a mixture of Proprietary, OMA and IETF documents being used in different ways for address books, presence and messaging. It is really hard to get a simple red/green indication  to work across clients using XCAP and PUBLISH/SUBSCRIBE/NOTIFY. Sharing buddy lists across clients is just not working, without loosing a lot of data or creating crashes.

I've tested BRIA, Zoiper, Blink, Jitsi on a Kamailio server. The results scare me. Due to lack of a reference profile (or the existence too many non-compatible reference profiles)  it seems like developers have tried to pick parts from various sources to create a solution that works for networks with their own clients. Most of them follow some sort of standard, but the result does not create any acceptable level of interoperability.

I think a base requirement is 

* To be able to use the same buddy list with different clients without loosing data
* To be able to add friends to the buddy list and see their presence states 

I tihnk it's time for the WG to focus on interoperability tests, document these short-comings and find ways to solve them. Otherwise we will end up with a standard that only works in single-vendor installations, which is not what I call "an interoperable standard" as is the goal in the very first paragraph of the charter. If possible invite the OMA to work with us and merge their documents with the IETF standards.

SIPit 30 in February could be a good place for a meeting and practical test, dicussion about what's missing and possibly ways forwards. Reports from such an event could be brought back to the IETF and be the basis for work to reach some level of interoperability.

Right now any multi-vendor solution based on SIMPLE is just not possible to sell, because it won't work. This means that customers that want open standards to be a guarantee of some level of vendor-independence won't get what they want.

We seriously need to fix this and get some running, interoperable code. Or just conclude with the statement "SIMPLE failed, use xmpp instead".

/O

---

From: Adrian Georgescu <[email-masked]>
Date: Sat, 13 Oct 2012 15:23:34 +0200

Hi Olle,

As a developer I can only concur with your assessment about the address book. In my case, it took four years of development and 15,000 lines of Python code, which is a high level language to assemble what one would call a SIP SIMPLE presence enabled address-book application where each contact is Presence aware. And of course there is no chance to have other SIP clients work with the same model. I had to navigate and connect the dots between countless disparate IETF documents like 

http://sipsimpleclient.com/projects/sipsimpleclient/wiki/SipFeatures#Presence

This complexity is beyond the reach of regular programmers that do not live deep inside the SIP world. Who has years to waste for such a task? A comparison with what other functionality, like setting up an audio call or a multiparty conference requires in terms of effort, may give a better image of the complexity for doing Presence with SIMPLE.

http://sipsimpleclient.com/attachments/4405/SDK-LinesOfCode.png

Complexity aside, on the good side I have discovered that:

1. IM, File Transfers and Multiparty chat work very well with MSRP, it is straight forward to implement and is well interoperable
2. Inter-domain signaling and media works well even to XMPP domains for both Presence, IM and multi-party chat

What could be considered 'broken' is the lack of a standard model for storing a generic and extensible address-book with presence-rules so that several different clients can work together under the same account without generating conflicting XCAP documents.

I would not call SIMPLE a failure just because things are complex, as they really are. XMPP is not a walk in the park either when you try to do with it more that it was designed for.  Just look at the forest of incompatible options between same the clients of Google namely Talk, Hangouts and Gmail interfaces, you can recognize same issues as with SIP. Add voice into the equation and you recognize the same complexity as with SIP trying to do Presence. What Google did well is to abstract the address book for all of their own clients so that the problem is well hidden.

What could be done to make SIMPLE better and achieve its original goal, would be to standardize an XCAP address book application with presence rules built-in that can be interpreted in a single way by all developers.

Adrian

On Oct 13, 2012, at 2:31 PM, Olle E. Johansson wrote:

> _______________________________________________
> Simple mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/simple
>

---

From: "Olle E. Johansson" <[email-masked]>
Date: Sat, 13 Oct 2012 17:55:53 +0200

> What could be done to make SIMPLE better and achieve its original goal, would be to standardize an XCAP address book application with presence rules built-in that can be interpreted in a single way…
Adrian,
Thanks for the feedback. You have done a good job with your documentation both for the SIPsimpleClient and OpenXCAP, which help me in my wanderings.

Also good to hear that some things work well. I stumbled on the basics.

Thanks for agreeing that we need to focus on interoperability, especially in the buddy list/Address book section.

/O

---

From: Brian McColgan <[email-masked]>
Date: Sun, 14 Oct 2012 17:16:46 -0400

The problem is most folks get fixated on the protocols, and quickly lose sight of the fact that the PIDF on which SIP/SIMPLE relies on is a data model.  That data model, while extremely flexible, leaves alot to be desired in terms of consistent (and hence repeatable) results.  Unfortunately, there has not been sufficient work on defining the manner in which the data model is navigated. This gets further complicated when RPIDis factored in, and subsequently OMA Presence/SIMPLE is layered on top of these building blocks.

OMA did a good thing when they developed the Presence Access Layer, however lack of adoption of this 'add on service enabler' has hampered what would be a truly helpful, simpler interface for presence aware services.  Alot of the requirements/shortcomings you (Olle) have highlighted (below) are addressed in the Presence Access Layer - including the ability to establish a presence profile which reference repeatable indicators, for any presence aware service.  A presence (watcher) is then established based on this profile - a presence context.

BR/Brian.

> From: [email-masked]
> Date: Sat, 13 Oct 2012 14:31:18 +0200
> To: [email-masked]
> Subject: [Simple] Controversial: Have SIMPLE reached is goal? Or is it an	IETF failure?
> 
> Hello,
>

---

From: Adrian Georgescu <[email-masked]>
Date: Sun, 14 Oct 2012 23:42:02 +0200

PIDF is not the issue in my opinion.

The issue that breaks interoperability is related to how to define a buddy lists with presence rules that works across multiple devices from multiple vendors.

Adrian