[reSIProcate] 3xx message handling related issue

Rajat Lala rlala at varaha.com
Mon Nov 14 08:54:34 CST 2005


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20051114/145c37b0/attachment.htm>


More information about the resiprocate-devel mailing list