2010/10/22 Daniel-Constantin Mierla miconda@gmail.com:
- Alice has two active resources (alice-1and alice-2).
- alice-1 uploads a new vCard.
How is alice-2 notified about that change if there is no possibility of subscription to the vcard?
Why it needs to be notified immediately? I haven't said that there is no subscription, but for some cases are just kind of "stateless subscription".
Phone sends subscribe for a resource and gets the document in the reply if allowed or a negative reply if not allowed. Timestamps can be used to mark it has not be changed (like in http).
IMHO avatar should be part of the vCard (as vCard already includes photo and so):
- Alice is subscribed to Bob's presence (just presence).
- Alice retrieves the vCard (including avatar) of Bob. But there is no
subscription as you said.
- Bob uploads a new version of his vCard with a new photo.
How is Alice being notified about the change to display the new avatar?
Avatar and photo in vcard can be different, but anyhow, not the scope here.
In the light of useless traffic that can cost and not only that, would it bring benefits that the avatar is updated in realtime by your application even it is in standby and you don't want to communicate with that user? Or the application is asking for updates when is some activity related to that user? If there is no activity for a long time, it can do a periodic refresh, anyhow many SIP mechanisms require periodic actions.
Where is the limit to say "this info requires subscription but this one not"?
All require subscriptions, but in many cases is no state associated with, just one time pull of status/document. I haven't thought thoroughly, but I hope the servers don't need to know subscription states, only authorization rules, which are just stored documents and should be generic, not a language related to presence, but authorization for any kind of resources.
Hi Daniel, any "subscription" mechanism means PULL: the subscriber is informed *by the server* about changes, so the server notifies the user. In case of SIP this is achieved with a NOTIFY. But you are speaking about PUSH: the interested user sends a periodic request to the server to get possible new changes. IMHO this cannot be called "subscription" neither "stateless subscription".
So, when you say "Phone sends subscribe for a resource and gets the document in the reply" I would prefer "Phone sends a like-GET request for a resource and gets the document in the reply". There is no way in SIP to retrieve data without using subscription (which means the data is sent in the NOTIFY, never in the 200 to the SUBSCRIBE). But here we can introduce a new SIP method, As I told before, STORE method could be use for uploading content or retrieving it (depending on a header, URI parameter or whatever stil to define).
Do we agree here? :)