Re: [Standards] NEW: XEP-0224 (Attention)

2007-08-10 Thread Peter Saint-Andre
Andreas Monitzer wrote:
 On Aug 10, 2007, at 15:30, Sergei Golovan wrote:
 
 I just want to get a result of attention query.
 
 Hmmm well, I personally wouldn't care about it (since you can't know if
 the user noticed it anyways), but I'm rather indifferent on it. What's
 the opinion of others on this list about it?

IQ seems good to me.

There are all sorts of potentially complicating factors involved here
(multiple resources) but I think they are relatively minor. Much depends
on the use case. Your examples showed one user sending the attention
request in the context of an existing chat session. In that context you
know the other person's resource and you are sending to that one because
you want to other person to pay attention to the chat session. If you
want to shake/buzz/etc. all of the user's resources then a message
headline would be better.

And of course the XEP is just defining a payload format. A client could
send it either by message or by IQ. If you want to buzz one resource,
use IQ. If you want to buzz all resources, use message headline.

Peter

-- 
Peter Saint-Andre
https://stpeter.im/



smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Standards] NEW: XEP-0225 (Component Connections)

2007-08-10 Thread Peter Saint-Andre
Ralph Meijer wrote:
 jabber:server and jabber:client both don't make much sense
 for component streams. I think we have a couple of choices here:
 
  1. Use a separate namespace for the component streams.
  2. Choose from jabber:server and jabber:client
  3. Iff we do a new version of XMPP (i.e. 1.0), we could choose one
 namespace for all connections.
 
 I strongly prefer 1 over 2, 

I prefer that too. Not sure I strongly prefer just yet. :)

 but if we do 2, I'd choose jabber:server.

I'm agnostic on that. Either way, we're forcing a square peg into a
round hole.

 Option 3 is something that could be considered, but if you want to be
 interoperable with client and server implementations that implement
 versions =1.0, you still have to do some juggling at the edges. However
 you would change the namespaces to and from that new namespace and use
 the new namespace internally.

We've always tried not to break older software. I see no good reason to
change that policy now.

/psa



smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Standards] NEW: XEP-0224 (Attention)

2007-08-10 Thread Richard Dobson



Maybe we should think of extending Caps to allow publishing different
capabilities to different contacts.
  


Yea maybe, but we need to find a reason for it first, certainly in this 
case its not needed as in normal real world use people are just going to 
have it globally on or off, they arnt going to be bothered with enabling 
and disabling this tiny little feature for individual contacts, are 
there any other more actually credible use cases for it that we can 
think of?


Richard




Re: [Standards] MUC rooms on roster.

2007-08-10 Thread Joe Hildebrand


On Aug 10, 2007, at 11:52 AM, Peter Saint-Andre wrote:


Joe Hildebrand wrote:
1) A new MUC role which effectively the opposite of visitor.  Of  
course,

on the bar napkin, this got written as rotisiv. :)  A rotisiv can
potentially speak (broadcasting to all of the members of the  
room), but
can't see any of the messages that are broadcast to the room.  As  
well,
rotisivs get presence from all of the participants and moderators  
of the

room, but nobody receives the rotisiv's presence from the room.
Obviously, an implementation might want ACLs to specify who can be a
rotisiv for a given room.


I'm not sure why you wouldn't want visitors to receive messages,  
perhaps

I'm missing something. I can understand why the room admins would not
want to broadcast presence from visitors in a moderated room, but  
that's

why we have the muc#roomconfig_presencebroadcast option.


The use case is:

- I'm not in the marketing group, but I'm rotisiv'ing it to see when  
any of them arrive at the office
- I broadcast a message to the marketing group, asking for the new  
slide deck template, so that whoever is available can help me
- You rotisiv the marketing group, you shouldn't see my presence  
through the group, since I'm not a member
- You broadcast a message to the marketing group; I shouldn't see it,  
because it's none of my business


Re: [Standards] NEW: XEP-0225 (Component Connections)

2007-08-10 Thread Ralph Meijer
I'm a bit torn about this, comments inline.

On Wed, 2007-08-08 at 15:11 -0700, Justin Karneges wrote:
 On Wednesday 08 August 2007 1:44 pm, Peter Saint-Andre wrote:
  XMPP Extensions Editor wrote:
   Version 0.1 of XEP-0225 (Component Connections) has been released.
  
   Abstract: This document specifies a standards-track XMPP protocol
   extension that enables server components to connect to XMPP servers.
 
  One of the items up for discussion is the default namespace for
  component connections. At the XMPP DevCon we thought that it would be
  good to use 'jabber:client', but I know that both Matthias Wimmer and
  Ralph Meijer have some arguments for 'jabber:server'. So perhaps we
  could have a debate about that. :)
 
 For namespace-aware implementations, these multiple namespaces are a real 
 pain.  body xmlns='jabber:client' and body xmlns='jabber:server' have 
 identical meaning: a body of a message.  Yet, namespace-aware implementations 
 will consider these to be two distinct elements.  This affects the creating 
 and parsing of all RFC 3920 and 3921 XML data.  You need to write code that 
 understands both namespaces and can output under either namespace (depending 
 on whether a stanza is going out on c2s or s2s).
 
 In jabberd2, I believe all XML is internally handled in the jabber:client 
 namespace.  I did the same thing in Ambrosia.  When a stanza arrives over 
 s2s, I iterate over the DOM and change all namespace instances 
 of 'jabber:server' to 'jabber:client' (note here that I'm not talking about 
 xmlns attributes, but rather the namespace property of each DOM element).  
 This allows me to reuse all of my existing stanza parsing and generation code 
 based on a single namespace ('jabber:client').

Since I am interesting how others do this, I'll first describe how I go
about this.

My namespace handing code has None besides the typical empty and
non-empty namespace names. None means inheriting from whatever is the
default namespace of the parent (or closest ancestor that sets this. So,
I convert the namespace to None on incoming messages and to the stream
namespace on outgoing messages.

This keeps namespace changes at the edges. Not having a defined default
namespace the elements in transit between parts of the server make sense
to me, as they don't actually belong to any of the currently defined
stream namespaces.

That said, all server implementations need to do this namespace juggling
anyway, so I don't see how it is an extra burden to do this for another
namespace, too.

 Additionally, I think indicating support for a feature or connection type 
 simply through a namespace declaration is weird.  A namespace declaration 
 indicates what namespace child elements should be assigned to, when you 
 actually have child elements.  By itself it doesn't have much meaning.  
 Namespace declarations don't show up in DOM either (they do show up in SAX 
 though, which is how I handle them).  I personally think it was a mistake to 
 use namespace declarations to indicate c2s vs s2s, or to indicate dialback 
 support, and so I vote not repeating this mistake.  This means 
 no 'jabber:component' or such.  The choice should be between 'jabber:client' 
 and 'jabber:server' for the namespace.  Use a real attribute or element to 
 indicate component support.

I can sympathize with the reasoning, actually. This is a clear case of
hist(e|o)ric reasons. I have to agree with Rachel and Peter here,
though, that jabber:server and jabber:client both don't make much sense
for component streams. I think we have a couple of choices here:

 1. Use a separate namespace for the component streams.
 2. Choose from jabber:server and jabber:client
 3. Iff we do a new version of XMPP (i.e. 1.0), we could choose one
namespace for all connections.

I strongly prefer 1 over 2, but if we do 2, I'd choose jabber:server.

Option 3 is something that could be considered, but if you want to be
interoperable with client and server implementations that implement
versions =1.0, you still have to do some juggling at the edges. However
you would change the namespaces to and from that new namespace and use
the new namespace internally.

-- 
Groetjes,

ralphm



Re: [Standards] MUC rooms on roster.

2007-08-10 Thread Peter Saint-Andre
Joe Hildebrand wrote:
 
 On Aug 10, 2007, at 11:52 AM, Peter Saint-Andre wrote:
 
 Joe Hildebrand wrote:
 1) A new MUC role which effectively the opposite of visitor.  Of course,
 on the bar napkin, this got written as rotisiv. :)  A rotisiv can
 potentially speak (broadcasting to all of the members of the room), but
 can't see any of the messages that are broadcast to the room.  As well,
 rotisivs get presence from all of the participants and moderators of the
 room, but nobody receives the rotisiv's presence from the room.
 Obviously, an implementation might want ACLs to specify who can be a
 rotisiv for a given room.

 I'm not sure why you wouldn't want visitors to receive messages, perhaps
 I'm missing something. I can understand why the room admins would not
 want to broadcast presence from visitors in a moderated room, but that's
 why we have the muc#roomconfig_presencebroadcast option.
 
 The use case is:
 
 - I'm not in the marketing group, but I'm rotisiv'ing it to see when any
 of them arrive at the office
 - I broadcast a message to the marketing group, asking for the new slide
 deck template, so that whoever is available can help me
 - You rotisiv the marketing group, you shouldn't see my presence through
 the group, since I'm not a member
 - You broadcast a message to the marketing group; I shouldn't see it,
 because it's none of my business

Oh, so this is for communities? I need to finish writing up our devcon
discussions on that topic. Will try to do that in the next few days.

But gosh rotisiv is such an ugly word. How about ghost?

Peter

-- 
Peter Saint-Andre
https://stpeter.im/



smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Standards] NEW: XEP-0225 (Component Connections)

2007-08-10 Thread Alexander Gnauck

Hello,

i am for jabber:client because i don't like the namespace switching in 
software.
But this does not help that much if we stick with other namespaces on 
s2s connections forever.


Alex



Re: [Standards] Username Escaping with Gateway Registration

2007-08-10 Thread Ian Paterson

Peter Saint-Andre wrote:

Peter Saint-Andre wrote:
  

Ian Paterson wrote:


XEP-0100 Gateway Interaction doesn't, AFAICT, explain whether the
username supplied at registration should be the Legacy Service
username or the Jabber username. [The difference between these
usernames (typically escaping) is explained in section 6.2 (User
Addressing).]

Can anyone please enlighten me on which username should be used?
  

The username used for registration is the LegacyUserAddress. I'll
clarify this in the spec.



See here:

http://svn.xmpp.org:18080/browse/XMPP/trunk/extensions/xep-0100.xml?%40diffMode=u%40diffWrap=sr1=1092r2=1134u=3ignore=k=

TinyURL: http://tinyurl.com/2dxv5j
  


That looks good, thanks :-)

- Ian



Re: [Standards] NEW: XEP-0225 (Component Connections)

2007-08-10 Thread Matthias Wimmer

Hi Justin!

Justin Karneges schrieb:

I don't have a strong preference really. A component feels a bit more
like a client because it is a local connection, plus c2s connections are
simpler than s2s connections. Let's pick one and be done with it. :)

The reason why I for the most part suggest using jabber:server instead
of jabber:client is, that in the jabber:client namespace the from
attribute on stanza is optional, while on jabber:server it is not. I
think this is one of the biggest differences between these two
namespaces.

In fact I think it's the only difference. ;-)
There's an even bigger one: server connections can only send stanzas in one 
direction.  Although that's more of a protocol thing than a schema thing, if 
you want to get picky. :)


That's exactly what I thought. You will probably implement s2s and 
component connections in different components, so that the protocol part 
is not that important. - But the schema is shared between both if they 
use the same namespace. That's why I would pick the jabber:server namespace.


BTW: Even jabber:server connections do not have to be unidirectional, 
that is only a (current) restriction if you use SASL for authentication. 
(It meight even happen, that this restriction will be dropped sometime 
in the future, at least I would not be surprized.)



As I said, I think there are reasons to go with either jabber:client or
jabber:server. It may more more a matter of picking one than choosing
based on some reasoning.


I always figured components were more like clients than servers.  Clients and 
components make single outbound connections, and construct and parse stanzas 
for server routing.  In contrast, servers do very little stanza manipulation 
(and, depending on how your server is designed, even the roster stuff might 
be in a component).


... you might even do the roster stuff on a different server, that is 
connected using a s2s connection to the other server. I already set this 
up once.


 It is stanza manipulation that really kicks your ass
when it comes to the different namespaces, and so sharing the same one as 
clients would be useful I think.


In jabberd14 and as you (?) said at least in jabberd2 as well (don't 
know the other servers) all handling is internally done in the same 
namespace. This can be jabber:server (like in jabberd14 for the reasons 
from above) or jabber:client (like in jabberd2) and does not make a big 
difference for the server (it's just reading both namespaces as the same 
namespace and when serializing XML it's using the expected namespace on 
that connection to serialize the common internal namespace).


So if everybody else preferes the jabber:client namespace I can live 
with that. But I'd prefere to use 'jabber:server'. Even if have a bit of 
the expression, that people merely prefere 'jabber:client' just because 
more people seem to work on clients or client connections were they are 
more used with using 'jabber:client' as the standard namespace, than 
working on s2s connections.



Matthias


Re: [Standards] NEW: XEP-0225 (Component Connections)

2007-08-10 Thread Tomasz Sterna
Dnia 10-08-2007, pią o godzinie 10:26 +0200, Matthias Wimmer napisał(a):
 But I'd prefere to use 'jabber:server'. Even if have a bit of 
 the expression, that people merely prefere 'jabber:client' just
 because 
 more people seem to work on clients or client connections were they
 are 
 more used with using 'jabber:client' as the standard namespace, than 
 working on s2s connections.

Could it be, that I prefer jabber:server for the same reason? :-)


-- 
Tomasz Sterna
Xiaoka Grp.  http://www.xiaoka.com/



Re: [Standards] NEW: XEP-0224 (Attention)

2007-08-10 Thread Sergei Golovan
On 8/11/07, Peter Saint-Andre [EMAIL PROTECTED] wrote:

 But the recipient must send a reply if we use IQ, which seems wasteful
 for a little toy like this.

Not a recipient, but her client. As for Tkabber it will waste about
3-5 lines of code.

-- 
Sergei Golovan


Re: [Standards] NEW: XEP-0224 (Attention)

2007-08-10 Thread Peter Saint-Andre
Sergei Golovan wrote:
 On 8/11/07, Peter Saint-Andre [EMAIL PROTECTED] wrote:
 But the recipient must send a reply if we use IQ, which seems wasteful
 for a little toy like this.
 
 Not a recipient, but her client. As for Tkabber it will waste about
 3-5 lines of code.

OK then:

But the recipient's client must send a reply if we use IQ, which seems
wasteful for a little toy like this.

/psa



smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Standards] NEW: XEP-0225 (Component Connections)

2007-08-10 Thread Michal 'vorner' Vaner
Hello

On Fri, Aug 10, 2007 at 11:19:59AM -0700, Justin Karneges wrote:
  That said, all server implementations need to do this namespace juggling
  anyway, so I don't see how it is an extra burden to do this for another
  namespace, too.
 
 What doesn't sit well with me is this idea of the standard elements having to 
 live under any random namespace.  The namespace is what gives them meaning.  
 If we only ever have exactly two (or potentially with a component namespace, 
 exactly three) possible namespaces for the elements, maybe that is fine.  
 What is not fine is having to worry that someday down the line we may invent 
 yet another namespace that the standard elements must be able to operate 
 under.  Is body omnipresent, and existing potentially in all namespaces? :)

Well, I take body/ does what it does if it is in the same namespace
with stanzas, and it does not much matter which kind of stanza it is
(client, server, whatever).

Technically, it is the namespace that gives the meaning, but - if you
look at the xml document/stream - it is the body that inherited the
namespace and does not have the xmlns= attribute (do I sound like XML
heretic to you?).

-- 
Security warning: Do not expose this email to direct sunlight.
It may lead to undefined behaviour, including possible data or life loses.

Michal 'vorner' Vaner


pgpf3tKIm9RN6.pgp
Description: PGP signature


Re: [Standards] NEW: XEP-0224 (Attention)

2007-08-10 Thread Andreas Monitzer

On Aug 10, 2007, at 15:30, Sergei Golovan wrote:


I just want to get a result of attention query.


Hmmm well, I personally wouldn't care about it (since you can't know  
if the user noticed it anyways), but I'm rather indifferent on it.  
What's the opinion of others on this list about it?


And I don't like to make many disco#info queries to determine  
current state of the remote client.


That's what XEP-0115 is about, this is outside the scope of XEP-0224.  
Further, you can just send it to non-supporting clients, too. The XEP  
just says that you have to check for support, not that you must not  
send one to a non-supporting client (wouldn't do anything, though). I  
guess the disco#info check should be changed to a SHOULD instead of a  
MUST (I already changed that in my local version here).


andy



Re: [Standards] MUC message moderation

2007-08-10 Thread Peter Saint-Andre
Mridul Muralidharan wrote:
 
 Hi Peter,
 
   Please note that the submitted specs are based on what have been
 shipping for 2+ years now - so it is possible that subsequent xep's have
 come out with different or better idioms - we can definitely change for
 the better if it is consistent with the rest of the specs.

OK, thanks for explaining the context.

 Peter Saint-Andre wrote:
 As promised, here are some questions and comments on the proposed MUC
 message moderation specs:

 http://www.xmpp.org/extensions/inbox/msg_moderate.html

 http://www.xmpp.org/extensions/inbox/room_moderator.html


 1. I think it makes sense to combine the two specs into one, with
 separate sections for the occupant and moderator use cases.

 
 
 The msg_moderate spec talks about occupant to room interaction - which
 is expected to be fairly stable across various moderation schemes.
 
 room_moderator spec talks about one realization (profile ?) of message
 moderation where room moderators actively take up the role of message
 moderator - and component decides on this based on the role  affiliation.
 
 While keeping the interaction between occupant and room stable, we could
 have other backend moderation interactions satisfying various other
 requirements - the occupant is agnostic to the actual moderation scheme.
 
 Hence the split - since both are logically different functions.

I understand that moderation could occur in different ways (e.g., via a
web interface). But I think it would be simpler for developers if
everything is in one spec.

 2. What is the rationale for sending out state changes via presence from
 the room's JID?

 http://www.xmpp.org/extensions/inbox/msg_moderate.html#moderation-state

 How will existing clients handle such state notifications?

 
 
 The intention is for any occupant who does not understand the xep's to
 continue to function without any error - but with reduced functionality
 since they cant request for moderation.
 I was not aware of these presence stanza's causing any problems - but we
 could very well change that to message or iq if they satisfy the same
 requirements.

I think it is worth thinking about this. Currently clients would not
know what to do with presence from the room. I know we've talked about
that idea and I still think it's worth pursuing, but we're really
changing the state of the room here. Let's say that people can subscribe
to the room from outside -- would they get these presence updates? That
would be odd -- they are intended only for people in the room. So I
think an in-room message or in-room IQ would make more sense. Probably a
message would be enough (I don't see a good reason to ack the status
update).

See also:

http://www.xmpp.org/extensions/xep-0045.html#roomconfig-notify

 Another alternative could be to discover if the client supports these
 xep's (disco ?) and the usecases and stanza's described in msg_moderate
 are applicable only to those.

How so? In any case I think an in-room message would make the most sense.

 I think we need to come up with a generic approach here. Perhaps the
 authors of the message moderation proposal could collaborate with the
 authors of the MUCOL proposal (not yet submitted)? They use IQs, not
 presence.

 http://www.wimba.com/labs/mucol/

 
 mucol defines a way to using particular media like whiteboarding. In
 case of message moderation it is not a collaboration between
 participants of the room. The communication is between the
 user/moderator and room so probably we cannot co-relate them.

I meant a generic approach to sending out notification of changes in the
room state. Again see the in-room messages we send already:

http://www.xmpp.org/extensions/xep-0045.html#roomconfig-notify

 3. Why is the message sender forced to flag the message as intended for
 moderation?

 http://www.xmpp.org/extensions/inbox/msg_moderate.html#moderation-state

 It seems to me that this forces the client to be smart about the state
 of the room. Older clients may not be that smart, and in any case I
 think the room (MUC service) can intelligently decide how to handle
 
 
 The affiliation/role of an occupant which can make use msg_moderate spec
 is of one who does not have voice.
 So, existing clients will not be able to send messages to the room
 currently, and they will not be expecting this ability (like no text
 area in client, etc).
 
 This proposal enables these users to participate in the discussion -
 pending approval from moderator.
 The intention here is to be explicit about exhibiting the fact that
 occupants are requesting for a moderated message submission - and due to
 the nature of submission, there are additional workflow and client side
 UI aspects which make use of this information.

But can't the room be smart about that? In my experience, lots of
clients may ignore the fact that the user does not have voice and enable
the user to send messages anyway. In your approach, the client would
need to know that the user does not 

Re: [Standards] NEW: XEP-0224 (Attention)

2007-08-10 Thread Andreas Monitzer

On Aug 09, 2007, at 21:55, Sergei Golovan wrote:

I think that attention messages should not be sent with a body/,  
but

should be a standalone message of type='headline', like so:

message from='[EMAIL PROTECTED]/lab'
 to='[EMAIL PROTECTED]/home'
 type='headline'
  attention xmlns='http://www.xmpp.org/extensions/ 
xep-0224.html#ns'/

/message


This message looks like iq/ but iq/ is better because the
recipient may receive result in case of accepted attention or error in
case of ignored one. The ability of getting a response even makes
disco#info queries unnecessary.


I chose to use message/ instead of iq/ because you don't have to  
specify a resource to send the message, and you don't need a reply on  
this one (every iq/-message is a potential memory leak, when the  
receiving client doesn't behave properly), because even when the  
client displays the attention grabbing event, you can't know if the  
user has seen/heard it. Is there a serious reason to go to iq/?


The body/ element is not required in this spec, but I could change  
it to SHOULD NOT contain, would that be better?


andy



Re: [Standards] NEW: XEP-0224 (Attention)

2007-08-10 Thread Andreas Monitzer

On Aug 09, 2007, at 22:46, Olivier Goffart wrote:

I think the lower important level is related and should be include  
to this

XEP.


If you don't want immediate attention, why send the attention  
grabbing message in the first place? I could see a usecase for  
normal and urgent, but then again, once you do send that  
attention message, it's always urgent anyways. I don't think you can  
ask the originating users to make that distinction. I'd guess the  
local client could make that differentiation based on the own  
presence (don't play the attention sound when DND, only flash the  
screen, for example).


andy



Re: [Standards] NEW: XEP-0224 (Attention)

2007-08-10 Thread Sergei Golovan
On 8/11/07, Peter Saint-Andre [EMAIL PROTECTED] wrote:
 IMHO you should send a chat message to the full JID of the person you're
 chatting with. One message, delivered to one resource, not acked. A
 simple throw-away that says hey!

Well, I feel tired little bit of this discussion. You may do with this
XEP what you want :)

But I still think that working with IQ in XMPP is easier than with
messages. And if a client doesn't support attention poking via IQ
then it's OK. But if a client doesn't support attention poking via
message then it will result in strange empty messages, or strange
headline messages or whatever.

Cheers!
-- 
Sergei Golovan


Re: [Standards] NEW: XEP-0224 (Attention)

2007-08-10 Thread Sergei Golovan
On 8/10/07, Andreas Monitzer [EMAIL PROTECTED] wrote:
 On Aug 09, 2007, at 21:55, Sergei Golovan wrote:

  I think that attention messages should not be sent with a body/,
  but
  should be a standalone message of type='headline', like so:
 
  message from='[EMAIL PROTECTED]/lab'
   to='[EMAIL PROTECTED]/home'
   type='headline'
attention xmlns='http://www.xmpp.org/extensions/
  xep-0224.html#ns'/
  /message
 
  This message looks like iq/ but iq/ is better because the
  recipient may receive result in case of accepted attention or error in
  case of ignored one. The ability of getting a response even makes
  disco#info queries unnecessary.

 I chose to use message/ instead of iq/ because you don't have to
 specify a resource to send the message, and you don't need a reply on
 this one (every iq/-message is a potential memory leak, when the
 receiving client doesn't behave properly), because even when the
 client displays the attention grabbing event, you can't know if the
 user has seen/heard it. Is there a serious reason to go to iq/?

You're already use iq/ to determine XEP support. So, I think that
anyway the message should be sent to a full JID.

As for potential memory leak I would say that it's better to leave
this problem to a client developer. There are always clients, which
behave incorrectly. Do you want to completely avoid using iq/s?

Cheers!
-- 
Sergei Golovan


Re: [Standards] NEW: XEP-0224 (Attention)

2007-08-10 Thread Sergei Golovan
On 8/11/07, Peter Saint-Andre [EMAIL PROTECTED] wrote:
 If it's a chat message then it won't be a strange headline message. If
 the message is empty except for the attention request then a client must
 ignore the message if it doesn't understand the attention namespace, so
 that won't result in strange empty messages. And several people on the
 list don't think that the attention request is something that we need to
 ack. But if others think this needs to be an IQ then I'm open to argument.

I know at least one client which will show an empty headline message
(it's Tkabber, it can't imagine such strange headlines). Can someone
bet that it's the only one?

-- 
Sergei Golovan


Re: [Standards] NEW: XEP-0224 (Attention)

2007-08-10 Thread Andreas Monitzer

On Aug 11, 2007, at 00:13, Sergei Golovan wrote:


I know at least one client which will show an empty headline message
(it's Tkabber, it can't imagine such strange headlines). Can someone
bet that it's the only one?


libpurple also had this bug, but I fixed it this summer. Maybe  
someone can file a bug on Tkabber?

Specs shouldn't be designed around bugs of existing implementations...

andy



Re: [Standards] NEW: XEP-0224 (Attention)

2007-08-10 Thread Peter Saint-Andre
Sergei Golovan wrote:
 On 8/11/07, Peter Saint-Andre [EMAIL PROTECTED] wrote:
 If it's a chat message then it won't be a strange headline message. If
 the message is empty except for the attention request then a client must
 ignore the message if it doesn't understand the attention namespace, so
 that won't result in strange empty messages. And several people on the
 list don't think that the attention request is something that we need to
 ack. But if others think this needs to be an IQ then I'm open to argument.
 
 I know at least one client which will show an empty headline message
 (it's Tkabber, it can't imagine such strange headlines). Can someone
 bet that it's the only one?

If your client shows a message even though it doesn't understand the
only child element in that message, then you should file a bug with the
developers, because that violates RFC 3920.

Peter

-- 
Peter Saint-Andre
https://stpeter.im/



smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Standards] NEW: XEP-0224 (Attention)

2007-08-10 Thread Peter Saint-Andre
Andreas Monitzer wrote:

 Specs shouldn't be designed around bugs of existing implementations...

+1!




smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Standards] NEW: XEP-0224 (Attention)

2007-08-10 Thread Sergei Golovan
On 8/11/07, Peter Saint-Andre [EMAIL PROTECTED] wrote:
 If your client shows a message even though it doesn't understand the
 only child element in that message, then you should file a bug with the
 developers, because that violates RFC 3920.

I know. And this bug will be fixed. Though I still think that headline
messages aren't acceptable for drawing attention. If someone will
include body/ into this message, Tkabber will show it in a separate
headlines window. Or you want to add something like client SHOULD
ignore all information included into attention message?

IQ is simple. Message is complicated.

Cheers!
-- 
Sergei Golovan


Re: [Standards] NEW: XEP-0224 (Attention)

2007-08-10 Thread Andreas Monitzer

On Aug 11, 2007, at 01:57, Sergei Golovan wrote:


On 8/11/07, Andreas Monitzer [EMAIL PROTECTED] wrote:

Hmm would that be so bad? A headline window will surely draw more
attention than a regular message.


How this separate window would associate with a chat thread?
Especially if chat and headline messages are stored in different
histories.


The message of the headline is not part of the discussion, and so  
shouldn't be stored along the rest. There is no association.



IQ has a fixed clear structure. Its parsing usually performed by one
routine,


I don't know many XMPP implementations, but in libpurple, message/  
is handled by a single function, whereas iq/-handling is spread  
around the whole XMPP plugin (since nearly every feature uses an iq  
stanza at some point).



But it's not a big deal to process a message instead of IQ. What I
want from any protocol detail is a feedback. XMPP would be much nicer
if any stanza required an acknowledgement. For now, messages and
presences are thrown without an acknowledgement (except for an ugly
presence usage in XEP-0045 AFAIK). So, I'd like to use them as seldom
as possible. Only if using message is unavoidable it may be used. (If
I could, I'd use IQ even for a regular messaging.)


This sounds more like you have a general issue with the XMPP protocol  
as such. This is outside the scope of my XEP, please discuss this on  
this list on the topic of rfc3921bis.


andy



Re: [Standards] Jingle: UDP relays

2007-08-10 Thread Peter Saint-Andre
Peter Saint-Andre wrote:
 At the recent XMPP devcon, I talked a bit with Thiago Camargo about NAT
 traversal and media relays. There are really two separate issues here:
 
 1. Finding and using STUN servers for NAT traversal. This is discussed
 in XEP-0215.
 
 2. Finding and using relay servers for media transport. Thiago suggests
 that a Jingle client could query its XMPP server for a UDP IP and port
 (hostport) at a relay server and the XMPP server could reserve that
 hostport for use by the client. The hostport might exist at a TURN [1]
 server. However, as Rémi Denis-Courmont has pointed out [2] on the
 IETF's BEHAVE list, it is not necessary for the relay to be a TURN
 server. It's great if the relay is a TURN server, but it could be
 something else -- and the important point is that for the purposes of
 media relaying it doesn't really matter to the Jingle client whether the
 relay does TURN or something simpler. So Thiago convinced me that if we
 define a way for a Jingle client to ask its XMPP server for a UDP
 hostport at a relay, we would have an easy way for a client to do media
 relaying.
 
 At this point I think we could (a) modify XEP-0215 to include the
 hostport reservation functionality or (b) define a separate spec. I
 don't have a strong preference about this right now, but Thiago and I
 will look into the options sometime soon.

Thiago, I am looking at your proposed workflow:

http://www.gliffy.com/publish/1178640/

And I have a question: how can the Jingle client (connected to the XMPP
server via TCP) ask the XMPP server for a public address candiate? As
far as I can see, that won't work because the XMPP server doesn't know
anything about UDP and so can't tell the Jingle client what its public
UDP IP+port is.

However, asking a specially-configured XMPP server for a media relay
candidate might work because the XMPP server could communicate with the
media relay (TURN or something simpler) on behalf of the Jingle client.

Peter

-- 
Peter Saint-Andre
https://stpeter.im/




smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Standards] Jingle: UDP relays

2007-08-10 Thread Scott Ludwig
On Aug 9, 2007 11:01 AM, Thiago Camargo [EMAIL PROTECTED] wrote:
 UDP Relays are just simple UDP routers.
 So you can bind Ports and IPs to the clients from your XMPP servers.
 Clients don't need to negotiate directly with Relay Servers(TURN for 
 instance).
 XMPP Servers can negotiate and allocate the tunnel to be used by the client.

 Check these drafts:

 http://www.gliffy.com/publish/1178640/
 http://www.gliffy.com/publish/1130091/

 Regards,
 Thiago

I suggest we just use STUN and TURN and get on with this.

It's true that a special case client can have a special relationship
with a server, and allocate candidates any way it wants, and establish
a standard jingle p2p connection as long as those candidates work as
regular remote candidate for the peer during ICE connectivity
establishment.

However, it would be nice for any Jingle compatible client to know how
to allocate address candidates from the service it is connected to. To
do this there needs to be standard protocols for discovering and using
these services. It's not complicated.

Describing N ways to allocate candidates isn't useful for anyone.
There is nothing very special about STUN and TURN technically, except
that they are established and work. Let's use them and move on.