* having received PRACKs for all unacknowledged reliable provisional responses,
* unless the final response is 2xx and any of the unacknowledged reliable provisional
* responses contained a session description. In that case, it MUST NOT send a final
* response until those provisional responses are acknowledged.
*/
final ContentTypeHeader contentTypeHeader = ((SIPResponse)response).getContentTypeHeader();
if (this.pendingReliableResponseAsBytes != null
&& this.getDialog() != null
&& this.getInternalState() != TransactionState._TERMINATED
&& statusCode / 100 == 2
&& contentTypeHeader != null
&& contentTypeHeader.getContentType()
.equalsIgnoreCase(CONTENT_TYPE_APPLICATION)
&& contentTypeHeader.getContentSubType()
.equalsIgnoreCase(CONTENT_SUBTYPE_SDP)) {
if (!interlockProvisionalResponses ) {
throw new SipException("cannot send response -- unacked povisional");
} else {
try {