[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