[reSIProcate] 180 Ringing must contain Contact header?

John Gregg jgregg at aylus.com
Fri Jun 6 16:49:11 CDT 2014


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




More information about the resiprocate-devel mailing list