[reSIProcate] FW: DUM redirection bug
Scott Godin
slgodin at icescape.com
Tue Nov 1 07:53:04 CST 2005
I think the absence of a Redirect Manager is indicating that you don't
want to handle redirections. Therefore if there is no redirect manager
then a 3xx response should be handled in exactly the same manner as any
other error response.
Ie. A Dialog and InviteSession is created for a very short period of
time and onFailure and onTerminated are called. The 3xx response code
can be detected in the onFailure callback.
________________________________
From: resiprocate-devel-bounces at list.sipfoundry.org
[mailto:resiprocate-devel-bounces at list.sipfoundry.org] On Behalf Of
Micky Kaufmann
Sent: Tuesday, November 01, 2005 3:32 AM
To: resiprocate-devel at list.sipfoundry.org
Subject: [reSIProcate] FW: DUM redirection bug
Hi All,
I think there's a bug in DUM:
If someone decides not to use a redirect manager - 3xx responses are not
handled correctly!
ClientInviteSession::handleRedirect which calls onRedirected callback is
called only if there's a redirect manager!
Moreover in case of a redirect message (with no redirect manager) an
InviteSession is created.
In such a case no InviteSession should be created, the only thing to do
is to destroy the DialogSet.
I think a fix for that should be:
1. Add a callback to DialogSetHandler: virtual void
onRedirectNoRedirectManager (AppDialogSetHandle, const SipMessage&
msg)=0;
2. Update DialogSet::dispatch function as follows:
.
.
.
if (msg.isRequest())
{
.
.
.
}
else // the message is a response
{
.
.
.
switch(mState)
{
case Initial:
.
.
else if((code < 400) && (!mDum.mRedirectManager.get()))
{
mDum.mDialogSetHandler->onRedirectNoRedirectManager(mAppDialogSet->getHa
ndle(), msg);
mState = Destroying;
mDum.destroy(this);
}
.
.
.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20051101/a838c021/attachment.htm>
More information about the resiprocate-devel
mailing list