< Previous by Date Date Index Next by Date >
  Thread Index Next in Thread >

[reSIProcate] ACK retransmission


InviteSession::dispatch checks whether ACK should be
retransmitted by looking at mAcks with transaction ID
retrieved from incoming 200OK. But
InviteSession::sendAck adds new entry to mAcks using
transaction id retrieved from ACK message that is
going to be sent. ACK is separated transaction and its
ID is different from transaction ID of Invite
transaction. Therefore the following to lines should
be fixed to:

mAcks[source->getTransactionId()]=ack;
mDum.addTimerMs(DumTimeout::CanDiscardAck, Timer::TH,
getBaseHandle(),
ack->header(h_CSeq).sequence(),0,source->getTransactionId());

Thanks,
Boris



      Ask a question on any topic and get answers from real people. Go to 
Yahoo! Answers and share what you know at http://ca.answers.yahoo.com