[Freeswitch-users] New feature - NAT handling, keep-alive OPTIONS

kokoska rokoska kokoska.rokoska at post.cz
Tue Apr 15 22:42:06 PDT 2008


Anthony Minessale napsal(a):
> Did you know that you can set the params and variables separate in each 
> <user> if you wish.
> The default example where it puts them in the <domain> is not mandatory,
> when you add params to the domain it implies every user in that domain.
> 

Thank you very much, Anthony, for your reply!
I know it, but didn't see the right variables for my purpose.
Is there already way how to send keep-alive OPTIONS to only some of UACs 
marked as NATed and how could I get IP address of Contact header from 
http post made by xml_curl?

If it is possible, please help me how to do it.

Best regards,

kokoska.rokoska


> 
> 
> 
> On Tue, Apr 15, 2008 at 4:40 PM, kokoska rokoska 
> <kokoska.rokoska at post.cz <mailto:kokoska.rokoska at post.cz>> wrote:
> 
> 
>     Hi all,
> 
> 
>     First of all I have say I'm very impressed by FreeSWITCH SIP handling.
>     It way differs from what I know from Asterisk :-)
>     A lot of my previous questions about adding/modifying SIP headers are
>     irrelevant becasuse FreeSWITCH do the job automagically...
> 
>     -----
> 
>     Now why I want to say:
> 
>     I think about new feature which may (or may not :-) slightly off-load
>     the FreeSWITCH in case of handling a lot of SIP clients behind NAT.
> 
>     If I understand my pcap dumps right, now in case of 10.000 UACs behind
>     NAT FreeSWITCH tries to send more than 2000 OPTIONS per second to the
>     UACs. If I don't miss something, it is too much, I think :-)
> 
> 
>     My idea is to use NAT-hack for only some of UACs, send NAT keep-alive
>     OPTIONS for only UACs it realy need it (based on administrator decision)
>     and make periodicity of NAT keep-alive packets configurable.
> 
>     I briefly looked into the sources and I think the solution could be like
>     this:
> 
>     1. Introduce new "per profile" variable "nat_keep_alive" meaning number
>     of seconds between sending of OPTIONS.
> 
>     2. Introduce new variable "sip_contact_ip" in Directory http post to
>     xml_curl. This is helpful - if compared to "ip" - to decide if NAT-hack
>     should be applied.
> 
>     3. Introduce new variable "enable_nat_ping" which defaults to "yes".
>     This var could be in replies to Directory http posts.
> 
>     4. Remove sofia_reg_nat_callback from sofia_reg_check_expire and
>     introduce independant call from sofia_profile_worker_thread_run driven
>     by value of "nat_keep_alive" variable.
> 
>     5. Modify DB table sip_registrations - add indexed TINYINT column
>     "nat_ping" and write to this column value of variable "enable_nat_ping".
> 
>     6. Select UACs for sending NAT keep-alive OPTINS from DB based by
>     indexed column search instead of by expensive fullscan of table with
>     "LIKE '%sometihng%'".
> 
> 
>     This is what I think could be useful. Any comments are welcome :-)
>     Expecially if somebody see it handy too or even works on something
>     similar - to work together.
>     If you see I miss something important or you see any drawback in my
>     suggestion, please tell me it :-). Thanks!
> 
> 
>     Best regards,
> 
>     kokoska.rokoska
> 
> 
>     _______________________________________________
>     Freeswitch-users mailing list
>     Freeswitch-users at lists.freeswitch.org
>     <mailto:Freeswitch-users at lists.freeswitch.org>
>     http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>     UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>     http://www.freeswitch.org
> 
> 
> 
> 
> -- 
> Anthony Minessale II
> 
> FreeSWITCH http://www.freeswitch.org/
> ClueCon http://www.cluecon.com/
> 
> AIM: anthm
> MSN:anthony_minessale at hotmail.com 
> <mailto:MSN%3Aanthony_minessale at hotmail.com>
> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com 
> <mailto:PAYPAL%3Aanthony.minessale at gmail.com>
> IRC: irc.freenode.net <http://irc.freenode.net> #freeswitch
> 
> FreeSWITCH Developer Conference
> sip:888 at conference.freeswitch.org 
> <mailto:sip%3A888 at conference.freeswitch.org>
> iax:guest at conference.freeswitch.org/888 
> <http://iax:guest@conference.freeswitch.org/888>
> googletalk:conf+888 at conference.freeswitch.org 
> <mailto:googletalk%3Aconf%2B888 at conference.freeswitch.org>
> pstn:213-799-1400
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Freeswitch-users mailing list
> Freeswitch-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org





More information about the FreeSWITCH-users mailing list