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

Re: [reSIProcate] 180 Ringing must contain Contact header?


A non-1xx provisional may or may not contain a Contact header.  However DUM will not create a dialog / InviteSession until we receive a non-1xx response with a Contact header.  If you need to see this 180 response in your application (when no contact header is present), then you need to install a DialogSetHandler and override the onNonDialogCreatingProvisional method.

Scott


On Fri, Jun 6, 2014 at 5:49 PM, John Gregg <jgregg@xxxxxxxxx> wrote:

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

_______________________________________________
resiprocate-devel mailing list
resiprocate-devel@resiprocate.org
https://list.resiprocate.org/mailman/listinfo/resiprocate-devel