[Freeswitch-dev] bad REGISTER processing
kokoska.rokoska at post.cz
Fri Apr 11 03:06:51 EDT 2008
Thank you very much, Michael, for your answer!
My comments are included in the e-mail body:
Michael Jerris napsal(a):
> The NDLB-connectile-dysfunction is a paramater to explicitly break the
My be, but only internaly - i.e. all your public communication could be
RFC compliant if you want.
> and re-write our behavior as if we got a contact of the same
> address that we received the packet from.
Yes, in the same manner as all VoIP TSP (at least all bigger VoIP TSP in
Europe) do :-)
> If it comes from 5060, it
> will have 5060 in the contact.
And this brakes the RFC and UAC should refuse your 200 OK. There are a
lot of broken clients which accepts this but not all of them :-)
> If you would like to handle nat and
> still be rfc compliant, then you need to use a client that follows the
I'm sorry but I don't know what is RFC noncomplient if UAC behind NAT
sends private IP in contact. Could you point me to relevant part of some
RFC, please? It will be very helpful for me...
> so you don't have to use non compliant hacks.
Like I wrote before, I can't remember any real (and not marginal) VoIP
telco provider in Europe which doesn't internaly rewrite contact URI in
case of UAC behind NAT. Even thou, a lot of them rewrite EVERY contact
URI and don't try to detect NAT, because a lot of SOHO routers have
SIP-ALG support (god dammed) which makes thing even complicated.
But there is - IMO - no reason why to rewrite contact URI in 200 OK
response to REGISTER request.
All at all, from my point of view there is a big drawback if I couldn't
use FreeSWITCH for UACs behind NAT.
It forces me to use OpenSER as registrar (what I want to avid to because
of performance and harder setup to keep good interoperability) which has
no problem with clients behind NAT.
I believe that improvement in NAT handling could help FreeSWITCH users a
lot. Thus I will be glad to help you as much as I can do.
Please let me know if I can do something handy (other than rewrite FS by
Thanks once more, Michael, for your answer!
More information about the Freeswitch-dev