oscar: status message, status note, away message, available message

Mark Doliner mark at kingant.net
Tue Sep 23 13:38:10 EDT 2008


On Tue, Sep 23, 2008 at 9:28 AM, "Philipp Führer - netzbeben.de"
<pf at netzbeben.de> wrote:
> i'm currently working on fixing the ticket #703. can you tell me what a
> status note in oscar is (not status message)? the function to request a
> status note doesn't work anymore (icq will return a "invalid search"
> packet) and away messages would work without it, so i'm wondering for
> what it's needed.

Good question!  I thought the "status note" was a personal message
which was independent of your status.  So you could be away with an
away message, and then have a status note in addition to that.  But
looking at ICQ 6 right now I only see the possibility to use one
message.  But if it doesn't work and it's breaking something else then
removing it sounds like a good idea.

> it also would be nice to know what you understand when you say "status
> message"? is it the status message created by pidgin e.g. of the status
> (away) and an away message which is displayed in the buddy list? or does
> it also have a meaning in the oscar protocol beside away and available
> messages? funny thing in icq6 is, that it actually doesn't seem to use
> away messages (family: location (0x0002), subtype: userinfo (0x0006) tlv
> 0x0004) but available messages (family: location (0x0002), subtype:
> userinfo (0x0006) tlv 0x001d), which are not yet displayed in the buddy
> list of pidgin.

Pidgin/libpurple/oscar have an status state (e.g. "away" or
"available") and a status message (e.g. "I ate a bug" or "Do you
remember Themoses(TM)?").  Oscar doesn't have any special meaning for
that.  But I also don't know what the correct way to implement it
is...

In AIM away messages are set using family 0x0002 subtype 0x0004 and
available messages are set using family 0x0001 subtype 0x001e.  Yes,
it's annoying and dumb that available messages and away messages are
implemented in completely different ways in the protocol.

ICQ is even worse, and I honestly have no idea what the correct method
is.  It's possible one of the above two methods will work.  Or you
might also have to use family 0x0015, or maybe do some stuff with
family 0x0004 (where other people would request the message from your
client and libpurple would send a response to the other person).

Hope that helps,
Mark


More information about the Devel mailing list