[sr-dev] registrar save() with multiple Contact headers

Henning Westerholt henning.westerholt at 1und1.de
Fri Sep 9 15:24:31 CEST 2011


On Friday 09 September 2011, Francesco Castellano wrote:
> I was wondering if an unexpected behaviour I'm experiencing on our SIP
> proxy is caused by a faulty client (i.e., faulty expectation of mine),
> or, this is the reason I'm writing you, by a possible bug.
> 
> I'm running SIP router version 3.1.3, Kamailio flavour (so the actual
> module loaded is from modules_k/). The client, after a successful
> REGISTER parses the contacts in the 200 OK reply, and then, if found,
> de-register previous registrations by itself no more relevant
> (essentially we're speaking of a mobile application, so changes of
> connectivity can lead to these broken locations).
> 
> The second REGISTER, with re-register of the current good location,
> and de-register of previous, broken locations looked like:

Hi Francesco,

recently there were a bug fix done in the 3.1 stable branch:

Commit: 16183d4553aca270da1284255f3f6862132a3aeb
registrar(k): reset local interator to contacts headers

- when the REGISTER request had more than one Contact header and
  max_contacts parameter was set, there were two iterations through the
  list fo Contacts header without reseting the iterator, resulting in
  not processing all Contact headers in save() - reported by Andreas Granig
[..]

At least with regards to the multiple contact headers it sounds similar to 
your issue. It would be great if you could test if this is the case. 

You can try to apply this patch locally, wait until next week for 3.1.4 or 
check out the 3.1 master branch from the repository.

Best regards,

Henning



More information about the sr-dev mailing list