[reSIProcate] DUM behaviour when no ACK received
Scott Godin
slgodin at icescape.com
Mon Feb 28 18:27:50 CST 2005
You are right - it should send a BYE. The refactored Invite session in the
teltel DUM branch works the way you would expect it to - sends a bye. This
code should be merged with the head branch soon. :)
Scott
-----Original Message-----
From: resiprocate-devel-bounces at list.sipfoundry.org
[mailto:resiprocate-devel-bounces at list.sipfoundry.org] On Behalf Of Brian
D'Souza
Sent: Monday, February 28, 2005 6:19 PM
To: resiprocate-devel at list.sipfoundry.org
Subject: [reSIProcate] DUM behaviour when no ACK received
Hello all,
I'm not sure if this is a bug or not but I thought I would just point it
out.
After sending an OK to a initial Invite if an ACK is not received, DUM
provides the onAckNotReceived(...) callback. However, if the
InviteSession::end() method is called in this callback no BYE is sent
and the session is not destroyed.
To clear this up, I'm referring to the following code:
void InviteSession::dispatch(const DumTimeout& timeout)
{
......
// BYE could be queued if end() is called when we are still waiting for
far end ACK to be received
if (mQueuedBye)
{
....
}
else
{
// if InviteSession::end() is called in the callback should a BYE not
be sent ?
mDum.mInviteSessionHandler->onAckNotReceived(getSessionHandle(),
it->second);
// add this code to send the bye (and subsequently delete this
session)
if (mQueuedBye)
{
mState = Terminated;
mLastRequest = *mQueuedBye;
delete mQueuedBye;
mQueuedBye = 0;
send(mLastRequest);
}
}
.....
}
Thanks,
Brian.
_______________________________________________
resiprocate-devel mailing list
resiprocate-devel at list.sipfoundry.org
https://list.sipfoundry.org/mailman/listinfo/resiprocate-devel
More information about the resiprocate-devel
mailing list