}
public void processResponse(ResponseEvent responseReceivedEvent) {
logger.info("Got a response");
Response response = (Response) responseReceivedEvent.getResponse();
Transaction tid = responseReceivedEvent.getClientTransaction();
logger.info("Response received with client transaction id " + tid
+ ":\n" + response);
try {
if (response.getStatusCode() == Response.OK
&& ((CSeqHeader) response.getHeader(CSeqHeader.NAME))
.getMethod().equals(Request.INVITE)) {
ChallengeTest.assertNotNull(
"INVITE 200 response should match a transaction", tid);
Dialog dialog = tid.getDialog();
CSeqHeader cseq = (CSeqHeader) response
.getHeader(CSeqHeader.NAME);
Request request = dialog.createAck(cseq.getSeqNumber());
dialog.sendAck(request);
}
if (tid != null) {
Dialog dialog = tid.getDialog();
logger.info("Dalog State = " + dialog.getState());
}
} catch (Exception ex) {
String s = "Unexpected exception";