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

[reSIProcate] 180 Ringing must contain Contact header?



I'm getting hung up processing a 180/Ringing in this code, in DialogSet.cxx, DialogSet::dispatch(), if (dialog == 0), if (msg.isResponse()) (starts on line 831 in 1.9.6):

         if (code > 100 && code < 200 &&
             (!msg.exists(h_Contacts) ||
              !msg.exists(h_To) || !msg.header(h_To).exists(p_tag)))
         {
InfoLog ( << "Cannot create a dialog, no Contact or To tag in 1xx." );

Is this right? It insists that I have a To header with a tag parameter (fine), but it also insists that my 180 have a Contact header. I'm looking at RFC 3261, section 12.1.1 (UAS behavior) and it wants a Contact in a 2xx, but it is not clear that it is mandatory on a 180. If it is mandatory on a 100 or 180, it looks like I'm going to have to modify a lot of our canned sanity tests . . .

Anyone have a clear ruling on this?

Thanks,

-John Gregg