ClassCastException in SIPClientTransaction
"Ricardo Borba" <[email protected]>
| Newsgroups | gmane.comp.voip.nist-sip |
|---|---|
| Message-ID | <AF72D46D56403D45AF5441A2D92F867001CFA4DF@server01.NaturalConvergence.com> |
I got this exception from the stack while running load traffic:
[ID 702911 local6.info] Exception in thread "UDPMessageChannelThread"
java.lang.ClassCastException:
gov.nist.javax.sip.stack.SIPClientTransaction
[ID 702911 local6.info] at
gov.nist.javax.sip.stack.SIPDialog.setLastResponse(SIPDialog.java:2272)
[ID 702911 local6.info] at
gov.nist.javax.sip.stack.SIPClientTransaction.processResponse(SIPClientT
ransaction.java:521)
[ID 702911 local6.info] at
gov.nist.javax.sip.stack.SIPClientTransaction.processResponse(SIPClientT
ransaction.java:1254)
[ID 702911 local6.info] at
gov.nist.javax.sip.stack.UDPMessageChannel.run(UDPMessageChannel.java:43
5)
[ID 702911 local6.info] at java.lang.Thread.run(Thread.java:595)
This is where the exception was thrown. "transaction" was a client
transaction but SIPDialog tried to cast it as a server transaction:
public void setLastResponse(SIPTransaction transaction,
SIPResponse sipResponse) {
...
} else if (sipStack.isDialogCreated(cseqMethod)
&& statusCode / 100 == 2) {
// 2XX response handling.
if (sipResponse.getTo().getTag() !=
null)
setLocalTag(sipResponse.getTo().getTag());
this.setState(SIPDialog.CONFIRMED_STATE);
this.setDialogId(sipResponse.getDialogId(true));
sipStack.putDialog(this);
if (statusCode / 100 == 2 &&
cseqMethod.equals(Request.INVITE)) {
Class cast exception ----> SIPServerTransaction sipServerTx =
(SIPServerTransaction) transaction;
this.startTimer(sipServerTx);
}
}
I'm running jain-sip-1.2 (Nightly Build 2006-07-23). Any chance this got
fixed in a more recent release?
Thanks,
Ricardo