< Previous by Date Date Index Next by Date >
  Thread Index Next in Thread >

[reSIProcate-users] A bug of service-route header?


Hi all, maybe this is a bug ?
 
I saw In ClientRegistration.cxx file, the line 392, when the UA received 200 OK of REGISTER message, if the 200 OK has Service-route header,
the DUM will call setServiceRoute(msg.header(h_ServiceRoutes)) to add the Route header for SIP message.
 
     try
         {
            if (msg.exists(h_ServiceRoutes))
            {
               InfoLog(<< "Updating service route: " << Inserter(msg.header(h_ServiceRoutes)));
               getUserProfile()->setServiceRoute(msg.header(h_ServiceRoutes));
            }
            else
            {
               DebugLog(<< "Clearing service route (" << Inserter(getUserProfile()->getServiceRoute()) << ")");
               getUserProfile()->setServiceRoute(NameAddrs());
            }
         }
         catch(BaseException &e)
         {
            InfoLog(<< "Error Parsing Service Route:" << e);
         }   
 
But as my test, when I make call after register succeeded, the INVITE message does not included ROUTE header.
I have to write below code after the register succeeded(I just use single master profile, no user profile):
 
void UserAgent::onSuccess(ClientRegistrationHandle h, const SipMessage& response)
{
  try
  {
   if (response.exists(h_ServiceRoutes))
   {
    mMasterProfile->setServiceRoute(response.header(h_ServiceRoutes));
   }
   else
   {
    mMasterProfile->setServiceRoute(NameAddrs());
   }
  }
  catch(BaseException &e)
  {
  }   
}
 
Then  the INVITE message inlcuded ROUTE header.