problem with sending provisional response with Requires header
"Barton, Jim" <[email protected]> Wed, 20 Dec 2006 17:43:49 -0700
| Newsgroups | gmane.comp.voip.nist-sip |
|---|---|
| Message-ID | <[email protected]> |
I am getting the following exception from the nist-sip stack when
attempting to send a 183 provisional response for an INVITE which does
not have a Requires header but does have a Supported 100rel header:
javax.sip.SipException: No require header in the request
at
gov.nist.javax.sip.stack.SIPDialog.createReliableProvisionalResponse(SIP
Dialog.java:2350)
The INVITE being responded to is:
INVITE sip:[email protected]:5091 SIP/2.0
Call-ID: [email protected]!
CSeq: 1 INVITE
From: <sip:[email protected]:5090>;tag=12345
To: <sip:[email protected]:5091>
Via: SIP/2.0/UDP
127.0.0.1:5090;branch=z9hG4bK6af4c36e7910883c0c1a5fd12412a996
Max-Forwards: 70
Contact: <sip:[email protected]:5090>
Supported: 100rel
Allow:
INVITE,OPTIONS,BYE,CANCEL,ACK,PRACK,UPDATE,SUBSCRIBE,NOTIFY,INFO,REGISTE
R,REFER
Content-Length: 0
I notice that this problem is an exception thrown in
SIPDialog.createReliableProvisionalResponse based solely on the
condition that the INVITE has no Requires header:
if (request.getHeader(Supported.NAME) == null)
throw new SipException("No Suported header in
the request");
if (request.getHeader(RequireHeader.NAME) == null)
throw new SipException("No require header in the
request");
However, the comment in this method (which I assume might be a quote
from the RFC) states the following:
/*
* A UAS MUST NOT attempt to send a 100 (Trying)
response reliably. Only
* provisional responses numbered 101 to 199 may
be sent reliably. If
* the request did not include either a
Supported or Require header
* field indicating this feature, the UAS MUST
NOT send the provisional
* response reliably.
*/
My interpretation of the above is that the request must have either have
a Requires header OR a Supported header. The code, however, appears to
implement a logical AND of these two conditions by insisting that both
headers be provided. Unless my interpretation is wrong, I think this
code is unnecessarily restrictive.
Thanks,
Jim Barton
_______________________________________________
nist-sip mailing list
[email protected]
http://www-x.antd.nist.gov/mailman/listinfo/nist-sip