[Standards] XEP-0033: error handling

Mridul Muralidharan mridul at sun.com
Tue May 8 06:00:21 UTC 2007


Peter Saint-Andre wrote:
> Mridul Muralidharan wrote:
>> Peter Saint-Andre wrote:
>>> As I was just discussing via IM with badlop (who is working on a 
>>> Summer of Code project to add extended stanza addressing support to 
>>> ejabberd), the error handling in XEP-0033 is rather sparse, bordering 
>>> on unhelpful or even non-existent. For instance if you send a bunch 
>>> of addresses and even one of them is unreachable, you receive back 
>>> from the multicast service a <forbidden/> error (?!?) with no 
>>> indication about which address(es) caused the problem. I suggest 
>>> something like the following would be more helpful:
>>>
>>> <message from='header1.org' to='a at header1.org/work' type='error'>
>>>    <addresses xmlns='http://jabber.org/protocol/address'>
>>>      <address type='to'  jid='to at header1.org'/>
>>>      <address type='cc'  jid='cc at header1.org'/>
>>>      <address type='bcc' jid='bcc at header1.org'/>
>>>      <address type='to'  jid='to at header2.org'/>
>>>      <address type='cc'  jid='cc at header2.org'/>
>>>      <address type='bcc' jid='bcc at header2.org'/>
>>>      <address type='to'  jid='to at noheader.org'/>
>>>      <address type='cc'  jid='cc at noheader.org'/>
>>>      <address type='bcc' jid='bcc at noheader.org'/>
>>>    </addresses>
>>>    <body>Hello, World!</body>
>>>    <error type='modify'>
>>>      <item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
>>>      <unreachable xmlns='http://jabber.org/protocol/address#errors'>
>>>        <address type='to'  jid='to at noheader.org'/>
>>>        <address type='cc'  jid='cc at noheader.org'/>
>>>        <address type='bcc' jid='bcc at noheader.org'/>
>>>      </unreachable>
>>>    </error>
>>
>> Hi,
>>
>>   Do we need to include the type also ?
> 
> Probably not necessary. I just did a quick copy and paste.
> 
>> And what if there are multiple error's generated : for different 
>> subsets of the address list ?
> 
> I don't think the address list has "subsets". Could you clarify what you 
> mean by that?
> 
> By "multiple errors" do you mean different kinds of errors, such as 
> remote-server-timeout vs. remote-server-not-found vs. jid-malformed or 
> whatever?

Yes.
For example, in the above noheader.org might not be reachable, 
cc at header2.org might be malformed, etc.
So how do we handle these cases ?

Also, since the errors might be spread over time (might not be returned 
immediately), is the client expected to handle error's from each 
recipient as though it individually sent the messages to them ?

Regards,
Mridul

> 
> Peter
> 




More information about the Standards mailing list