RE: [reSIProcate] Missed handling when caller hangup before recei ving ANY response
In the scenario you described the AppDialogSet should get destroyed by DUM
after 64T1 expires (~32 seconds after the Invite). So I don't think your
change is needed.
Check out:
http://list.sipfoundry.org/archive/resiprocate-devel/msg01297.html
-----Original Message-----
From: kaiduan xie [mailto:kaiduanx@xxxxxxxx]
Sent: Thursday, September 16, 2004 12:55 AM
To: resiprocate-devel@xxxxxxxxxxxxxxxxxxx
Subject: [reSIProcate] Missed handling when caller hangup before receiving
ANY response
Hi, all,
In the DialogSet::cancel(), the handling when caller
hangup before receiving ANY response, including 100 is
missed. Applicaiton call AppDialogSet::cancel() to
hangup.
void
DialogSet::cancel()
{
Destroyer::Guard guard(mDestroyer);
mCancelled = true;
if (mDialogs.empty())
{
if (mReceivedProvisional && getCreator())
{
//unify makeCancel w/ Dialog makeCancel,
verify both
//exception to cancel UAS DialogSet?
auto_ptr<SipMessage>
cancel(Helper::makeCancel(getCreator()->getLastRequest()));
mDum.send(*cancel);
guard.destroy();
return;
}
else
{
// xkd-2004-9-15 to handle the case the user
hangup before receiving ANY response, including 100.
guard.destroy();
^^^^^^^^^^^^^^^
return;
}
}
....
}
I simulated this case by commenting out
mReceivedProvisional = true;
in DialogSet::dispatch()(line 337)
and test with Free World Dialup and Jasomi's outbound
proxy.
kaiduan
______________________________________________________________________
Post your free ad now! http://personals.yahoo.ca
_______________________________________________
resiprocate-devel mailing list
resiprocate-devel@xxxxxxxxxxxxxxxxxxx
https://list.sipfoundry.org/mailman/listinfo/resiprocate-devel