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

RE: [Sip] Reason header simplification



The reason for Reason :-) is for the "extra info" that's behind the result
code.  Sort of an Error-Info short-hand (should it be such?).

A model that this reminds me of is the VAX VMS return structure.  There's
the return code (which I agree with Rohan, is simply the SIP return code).
Then there's the readable text.  Then there's the useful info.

Clearly the "useful" info is situation-specific.  This is where the rest of
the Reason information, *including* Q.mumble, H.foo, Unix Process Exit
Value, etc. is important.

The other place for Reason is to address History.  The SIP result code is
for *this* request.  There's a need for knowing other result codes this
request has been exposed to during its life.

I would propose a Reason: header that is composed of the *SIP* result code
(as Rohan suggests) with enriched, application-specific information (as
Henning/Gonzalo suggest).


-----Original Message-----
From: sip-admin@ietf.org [mailto:sip-admin@ietf.org]On Behalf Of Rohan
Mahy
Sent: Tuesday, March 19, 2002 3:32 PM
To: gonzalo.camarillo@ericsson.com
Cc: sip@ietf.org
Subject: [Sip] Reason header simplification


Hi,

It occurred to me that there is a lot of overlap between the 1-9 reason
codes in the reason header, and the 3 digit SIP reason codes.  I think
these could be consolidated as described below.

Reason: 1 (call completed elsewhere) in a CANCEL could instead become a
CANCEL with a Reason: 200 OK (you are receiving a CANCEL because the
status of the call was a 200 OK, presumably from another branch).

The only difference between Reason 2 (abandoned) and Reason 4 (terminated)
is that 2 is used in CANCEL, and 4 is used for BYE.  We could allocate a
new 4xx response code (say 499) for "terminated" and use this instead.
This response code would also be useful in the call-info package.

Reason: 3 (timed out) is easily expressed with Reason: 408 Timeout

Reason: 5 (transfer complete) isn't needed because a notification to that
effect is generated when using REFER

Reason: 6 (no media) could be represented with a new response code (say
498)

Reason: 7 (interworking) does really have any semantic meaning, so just
use the SIP response code.

Reason: 8 (offer refused) sounds like a 603 Decline or 488 Incompatible
Media to me.  The SIP responses are actually more rich, but not
significantly more complex.

Reason: 9 (update requested) can be implied by the fact that the reason
header is in a 155 response.  the "real" reason is the repairable error


Also I don't like to idea of sending ISUP (Q.850) or ISDN (Q.931) response
codes around inside a SIP network.  I'd rather use standard ISUP-SIP or
ISDN-SIP cause code translation, so that an ordinary SIP UA can just use a
set of well-defined SIP cause codes.

hope this makes sense.

thanks,
-rohan





_______________________________________________
Sip mailing list  https://www1.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use sip-implementors@cs.columbia.edu for questions on current sip
Use sipping@ietf.org for new developments on the application of sip


_______________________________________________
Sip mailing list  https://www1.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use sip-implementors@cs.columbia.edu for questions on current sip
Use sipping@ietf.org for new developments on the application of sip