On 2/4/08, Philippe <philippe.leuba at eyepmedia.com> wrote: > > Hi Benny, > > We discovered some SIP servers that return the contact header modified in > the REGISTER response, some replaces the softphone local address with the > public one (SER), some with the server address. > > This results in pj with an error reported in the reg_c callback. > > I agree that this behavior is not RFC 3261 compliant. > > But in order to interoperate with a larger set of SIP equipments, I propose > to modify the implementation the following way: always accept a 200/OK > register response even if we do not find our contact. If you agree, I can > send you the code changes to apply. > > The SIP norm says that we need to be strict with what we are sending and > tolerant with what we receive? While this generally is true, I don't think this is accurate for this particular scenario. I don't think I would need to restate what lack of matching Contact header in REGISTER's 200/OK means, as I assume you're aware of that. But on the other hand, I also saw how other registrar (a commercial one) fails to obey this basic rule, so a little more robustness will not hurt, I think. So I'm willing to work on a workaround. If you have a patch against trunk, and your patch is protected by configuration macro (something like PJSIP_HANDLE_BROKEN_REGISTRAR) which by default is disabled, I think I would be happy to accept your patch. cheers, -benny > > > Philippe Leuba > _______________________________________________