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

[reSIProcate] 'Contact' header mandatory in 18x responses?


Hi all.

I'm testing some devices (both soft and hard) for interoperability with my application (developed with resiprocate/dum).

I've noticed that, when i am acting as a UAC, sometimes onProvisional callback is not called even if 18x responses are sent to my application. Searching in log for some hints, i see that resiprocate seems to "discard" 18x responses that don't have 'Contact' header...

180 without 'Contact':

...
DEBUG | 20050810-113354.296 | sandro | MyAppl | RESIP:DUM | 15280 | 1099754416 | DialogUsageManager.cxx:1398 | DialogUsageManager::processResponse: SipResp: 180 tid=0ba3fc4cdf382449 cseq=INVITE / 1 from(wire) DEBUG | 20050810-113354.296 | sandro | MyAppl | RESIP:DUM | 15280 | 1099754416 | DialogId.cxx:50 | DialogId::DialogId: 0d9d7176be53db3d@c2FuZHJvLnBpc2Euc2lzLml0-8f749325-b1b141abaabc29f2i0 DEBUG | 20050810-113354.296 | sandro | MyAppl | RESIP:DUM | 15280 | 1099754416 | DialogSet.cxx:655 | findDialog: 0d9d7176be53db3d@c2FuZHJvLnBpc2Euc2lzLml0-8f749325-b1b141abaabc29f2i0 in [] INFO | 20050810-113354.296 | sandro | MyAppl | RESIP:DUM | 15280 | 1099754416 | DialogSet.cxx:575 | Cannot create a dialog, no Contact in 180.
...

and no onProvisional is called (nothing is called at all...).
With other devices (es. X-Lite softphone) that send 'Contact' in 180 response all goes ok.

Rfc3261 says that 'Contact' header in 1xx response (to an INVITE request) is optional.

In the ML archive I've found this thread ( http://list.sipfoundry.org/archive/resiprocate-devel/msg02692.html ) where a 'setOverrideHostPort' method of Profile class is told to do the job (i.e. populating Contact header)... but i suppose this is only for outgoing requests/responses, isn't it?

Any other that experienced this issue?
Best regards,

--
Ing. Sandro Bordacchini
SIS s.r.l.
Via Cottolengo, 21
56100 Pisa (Italy)