This discussion is archived
0 Replies Latest reply: Aug 28, 2009 10:57 AM by 715547 RSS

reordering of BYE and ACK

715547 Newbie
Currently Being Moderated
i'm using OCCAS 4.0 in conjunction with eyeBeam's x-lite UA and experience that OCCAS reorders the processing of a BYE and ACK in a way that the BYE is processed before the ACK althought the ACK is received earlier.

the test servlet is pretty straight forward

public class TestByeAck extends SipServlet
private static final Logger LOG = Logger.getLogger(TestByeAck.class);
private boolean m_GotACK = false;

protected void doInvite(SipServletRequest a_Request)
     throws ServletException, IOException
LOG.debug("doInvite: done");

protected void doAck(SipServletRequest a_Request)
     throws ServletException, IOException
m_GotACK = true;
LOG.debug("doAck: done");

protected void doBye(SipServletRequest a_Request)
     throws ServletException, IOException
if (m_GotACK)
LOG.debug("doBye: OK");
LOG.debug("doBye: REQUEST PENDING");
LOG.debug("doBye: done");

now the ethereal trace shows.

OCCAS ---- 100 ----> UA
OCCAS ---- 200 (NO SDP) ----> UA
OCCAS <--- ACK ---- UA
OCCAS <--- BYE ---- UA
OCCAS ---- 491 (BYE) ---> UA

teh log output of the servlet is
test.TestByeAck - init:
test.TestByeAck - init: done
test.TestByeAck - doInvite:
test.TestByeAck - doInvite: done
test.TestByeAck - doBye:
test.TestByeAck - doBye: REQUEST PENDING
test.TestByeAck - doBye: done
test.TestByeAck - doAck:
test.TestByeAck - doAck: done

is there a way to tell occas to keep the order of receiving the messages?

also can this be fixed somehow?


  • Correct Answers - 10 points
  • Helpful Answers - 5 points