< Previous by Date | Date Index | Next by Date > |
Thread Index |
Hi, I am using reciprocate version 0.9.0
on wince. In case of 3xx for REGISTER reciprocate changes only Request URI neither
the Contact, ‘To’ and ‘From’ fields. When my UA get the
3xx response to INVITE request with contact more than one, reciprocate sends
the Invite to only one new contact. Here I am facing two problems. One is that
only Request URI of the new Invite message has been change the ‘To’
field remain the same and Second reciprocate send Invite to only one contact
and that contact is the second contact in the list of contacts received in 3xx. I have provided the code snip below
with the problem I have faced. bool RedirectManager::handle(DialogSet&
dSet, SipMessage& origRequest, const SipMessage& response) {
TargetSet& tSet = *it->second;
tSet.addTargets(response); //Here I get two contacts in case of the INVITE
while(tSet.makeNextRequest(origRequest)) //Next request is created {
if (handler)
{
if (handler->onTryingNextTarget(dSet.mAppDialogSet->getHandle(), origRequest))
//Here I return true so function returns without deleting the it->second and
erasing the mRedirectedRequestMap. In that case the New INVITE has been sent to
one of the new targets.
{
return true;
}
}
else //!dcm! -- accept all if no handler--should a handler be required?
{
return true;
} } If I return false then in onTryingNextTarget then retuns
false here
delete it->second;
mRedirectedRequestMap.erase(it);
return false; } //5xx, 6xx different? return
false; } In case false is return in the hadle
function or RedirectManager the handledByAuthOrRedirect of dialog by pases the if
(mDum.mRedirectManager->handle(*this, getCreator()->getLastRequest(),
msg)) { } Condition. In that no packet could
be sent to any new target. I am quite confused with the way reciprocate
is behaving. I just want to know weather any one else has faces this kind of
behavior. Thanks in advance Rajat Lala |