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

Sandro Bordacchini sandro at sis.it
Wed Aug 10 05:15:40 CDT 2005


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 at c2FuZHJvLnBpc2Euc2lzLml0-8f749325-b1b141abaabc29f2i0
DEBUG | 20050810-113354.296 | sandro | MyAppl | RESIP:DUM | 15280 | 
1099754416 | DialogSet.cxx:655 | findDialog: 
0d9d7176be53db3d at 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)




More information about the resiprocate-devel mailing list