[Ipcf] few questions and comments

Ricardo Kekki ricardo.kekki at movial.fi
Wed Nov 9 14:52:29 EET 2005

1. In the telepathy API the presences are given as text strings that each
Connection can define to be unique for the given Connection/Service.
How is handled the need for internationalization of the applications
that use the presence? Only way would be to use the numerical strings
defined in org.freedesktop.Telepathy.Connection.Interface.Presence.
If so, why use those free text presences values at all?

2. What does Presence.RemoveStatus actually do if there is only one active

3. What all can be a contact in the sense
assumes? Anything you can open a channel to?

4. It's not that clear what it means that a contact is listened.
Is there a list of "listened" contacts in the ConnectionManager that is
replaced on each call to Presence.RequestPresence, or do the user have
to poll that call every now and then to get updates?

And is this meant for contacts we are _not_ subscribed to, or the ones
we _are_ subscribed to? In some protocols it is not possible to get any
presence data for contacts you are not subscribed to.

5. When a contact wants to subscribe to us, does that cause a
Group.MembersChanged call (with one local pending added) to the allow
list? What if no one is listening to that (or was it MCs responsibility

6. Does Connenction.ListChannels() list excisting channels or supported
channel types? the former I assume.

7. Is it necessary to queue the incoming messages in the ConnectionManager
and the UI to explicitely remove them? Wound't it be enough if the CM
knows that the message was delivered; if the UI is down, it will get
probably lost any way.

Is there some way for the CM to know if the message was delivered
other than the explicite Ack?

8. There seems to be no typing notifications. Those are quite nice and used
IM feature and adding one interface for them would not be a big thing to

9. What about MSRP? If SIP instant messaging is done with that, the CM
would do it, but if e.g. a file is sent over MSRP, the UI would set up a
StreamedMedia and then create it's own MSRP session? I don't have a
proposal on what would be the right way to do this, but it should maybe
be thought a bit.

10. Who actually sends and recieves the RTP packets? The VoIP engine I would
assume? The StreamedMedia explanation could be clearer on this matter.

11. How to set self on a group? (ref. Group.GetSelf)

12. The UI components must perform significant amounts of string
I see the point of using strings as generic data type, but maybe it
should be considered if some of the string-based systems could be
replaced with some numerical values.

e.g. give all contacts numerical ID and use those instead of an string.
As all the components probabaly any way need to store a contact list
locally, they can get the strings from there.

More information about the Ipcf mailing list