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

[reSIProcate] SipMessage::isExternal() == true on a locally generated failure


Hi guys,

(resip 1.6)

In the following scenario:

- Send message (OPTIONS, ...) to a invalid UDP URI
- Timer F expires
- SIP stack sends 408 Request Timeout to DUM (Transaction User)

I'm seeing that the message that gets sent to the DUM has isExternal() == true, even though it was locally generated.

It gets set into Helper::makeResponse because the supplied request (the outgoing OPTIONS) has isExternal() == false:

   if (request.isExternal())
   {
       response.setFromTU();
   }
   else
   {
       response.setFromExternal();
   }

In this case, I was expecting isExternal() == false since the response didn't come from the wire.

The problem I'm trying to solve is discerning between true locally generated message (failures + successes) and true remotely generated ones.

Does this make sense :) ?

Thanks,
Francis