Re: Last Call: <draft-ietf-stox-core-07.txt> (Interworking between the Session Initiation Protocol (SIP) and the Extensible Messaging and Presence Protocol (XMPP): Architecture, Addresses, and Error Handling) to Proposed Standard

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



With many apologies to Peter and to the STOX WG for the timing of this:

I still think there's a couple of small problems with the treatment of translation into and out of 503.

The first is that we left folks without guidance if they're handling translating a SIP response into an XMPP
response in this case - the document's rather silent about that direction in the note in section 6.1.
Should they translate a 503 into a <internal-server-error/> as for unknown 5xx-class responses?
There's a similar issue with 402 - the pointer to note 1 says <payment-required/> no longer exists, but
doesn't give us anything to map a 402 into. is <bad-request/> (the unknown 4xx mapping) ok?

The second is a nit with the text in the note in section 6.1. It currently says " the SIP 503 response
code will be interpreted as applying to the entire domain, not only the specific user". That's not
quite right, and it's important to get this right since we're leaving it mostly to the gateway designer
to guess at what to do. The 503 talks about the element that returned it, not anything in the request,
so while it's right that it's not only talking about a specific user, it's not right to say it's talking about
an entire domain (and while that entire domain would be affected _at this element_, it's more than that -
_ANY_ domain's resource routed to this element will not be handled by this element until the condition
that led to the 503 goes away). I suggest saying this instead: "the SIP 503 response code will be interpreted
as applying to all future requests to this server, not just requests for the specific user".

I also whipped up some bad python to look at what round-tripping an errror from XMPP->SIP->XMPP and
vice-versa looked like as a sanity check (which brought the 503 and 402 issues in the first item above to
my attention). Here's the result. Please look over them and see if any of them are surprising or unacceptable.
(They are easier to read in a fixed-width font).

I'm particularly suspicious of subscription-required -> registration-required and of 301 -> 410.


XMPP -> SIP -> XMPP
bad-request              -> bad-request
conflict                 -> bad-request
feature-not-implemented  -> feature-not-implemented
forbidden                -> policy-violation, forbidden, recipient-unavailable, not-allowed
gone                     -> gone
internal-server-error    -> internal-server-error
item-not-found           -> item-not-found, remote-server-not-found
jid-malformed            -> bad-request
not-acceptable           -> not-acceptable
not-allowed              -> policy-violation, forbidden, not-allowed
not-authorized           -> not-authorized
policy-violation         -> policy-violation, forbidden, not-allowed
recipient-unavailable    -> recipient-unavailable
redirect                 -> redirect
registration-required    -> registration-required
remote-server-not-found  -> remote-server-timeout, item-not-found, remote-server-not-found
remote-server-timeout    -> remote-server-timeout, remote-server-not-found
resource-constraint      -> internal-server-error
service-unavailable      -> policy-violation, forbidden, feature-not-implemented, not-allowed
subscription-required    -> registration-required
undefined-condition      -> bad-request
unexpected-request       -> bad-request, unexpected-request

SIP -> XMPP -> SIP
300 -> 302
301 -> 410
302 -> 302
305 -> 302
380 -> 606, 406
400 -> 400
401 -> 401
402 -> UNDEFINED
403 -> 603, 403
404 -> 408, 604, 404
405 -> 405, 501
406 -> 606, 406
407 -> 407
408 -> 408, 404
410 -> 410
413 -> 403
414 -> 403
415 -> 606, 406
416 -> 606, 406
420 -> 405, 501
421 -> 606, 406
423 -> 500
430 -> 480, 600
439 -> 405, 501
440 -> 403
480 -> 480, 600
481 -> 604, 404
482 -> 606, 406
483 -> 606, 406
484 -> 604, 404
485 -> 604, 404
486 -> 480, 600
487 -> 480, 600
488 -> 606, 406
489 -> 403
491 -> 400, 491
493 -> 400
500 -> 500
501 -> 405, 501
502 -> 408, 404
503 -> UNDEFINED
504 -> 408
505 -> 606, 406
513 -> 403
600 -> 480, 600
603 -> 480, 600
604 -> 604, 404
606 -> 606, 406


RjS

[Index of Archives]     [IETF Annoucements]     [IETF]     [IP Storage]     [Yosemite News]     [Linux SCTP]     [Linux Newbies]     [Fedora Users]