Hadriel Kaplan wrote:
Send the 200 OK and let the application sort out the body. SIP has done
its job - don't be a layer violator and conflate an application error
with a transport error!
I don't think I agree with this, but it could stand some further
discussion. Are you asserting this behavior is special for INFO? Or that
it is true for all messages?
I don't find anything in 2976 that calls for a success response when the
content of the body is incorrect.
Yeah there's no debate that SIP expects INVITE/UPDATE to be handled integral
with body processing. What's always been argued is how to handle things like
MESSAGE, SUB/NOT and INFO. Several people have argued the body part content of
those was at a higher layer. The text in SUB/NOT RFC only defined a response
code for bad Event-types or unknown body content-types I think, but left body
processing failure out of it. And none of the packages seem to go any deeper
as far as I can tell.
Of course in practice some (many?) devices respond with failure codes when body
processing fails no matter the method.
Wasn't this debated a couple few ago on this list?
I sort of see the logic although I'm also not 100% convinced by it.
In any event (no pun intended) I don't think the draft adequately deals
with the implications of this model. If errors occurring at higher
layers aren't reported as failure of the INFO request itself, it pretty
much follows that the 200 response to the INFO must include a payload
that carries info (sorry, pun not intended here either) on the error.
The alternatives would be:
1) Don't report app-level errors. Perhaps OK for simple packages.
2) Report outcome in separate INFO requests going in the opposite
direction. Seems wasteful and requires additional app-level correlation.
AFAICT the draft has no discussion on how to carry app-level success or
failure indications. In fact, the table in sec 5.2 indicates that
Info-Package is allowed in requests only.
Assuming an event package specifies that all INFO requests result in a
response which is carried in the 200 response, what does that mean for
the info package negotiation? An implementation might be able to act as
a sender of this type of INFO but not as a receiver. It still needs to
understand the INFO responses but presumably it needn't list the info
pkg in Recv-Info header fields it generates.
Just as an FYI ECMA has defined TR/87, a SIP INFO binding for the
computer-supported telecommunications applications (CSTA) CTI standard,
which uses exactly that model. CSTA requests and events are carried in
SIP INFOs and these INFO requests succeed even if the CSTA request
fails. For CSTA requests the 200 response to INFO always carry a CSTA
response and for CSTA events the INFO response has no payload. The spec
is available from
http://www.ecma-international.org/publications/techreports/E-TR-087.htm.
Thanks,
Anders
_______________________________________________
Sip mailing list https://www.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use [EMAIL PROTECTED] for questions on current sip
Use [EMAIL PROTECTED] for new developments on the application of sip