[Freeswitch-users] Registration ODBC feeded by another registrar proxy

Jan Berger janvb at live.com
Mon May 3 10:42:30 PDT 2010

May a suggest a change filter developed if this really is needed?


Re-loading everything just in case something has changes is a huge waste of bandwidth and CPU - if you install an intelligent change filter you would be down to a few entries changing.



Date: Mon, 3 May 2010 21:06:54 +0400
From: kawarod at laposte.net
To: freeswitch-users at lists.freeswitch.org
Subject: Re: [Freeswitch-users] Registration ODBC feeded by another registrar proxy


thanks for your answer and just some details to describe what I'm looking for.
I have to register 25 000 subscribers, no NAT is involved, each equipment has its own IP address.
These equipments are registering every 60 seconds on our current platform, but I can change this parameter if needed.
Equipments are ADSL CPE (router), that's why I'm using 60sec cause flapping could happen very often with ADSL if the copper line is crappy. ADSL could be very unpredictable sometimes.
As I don't want to delay too much forwarding to voicemail if a user is unavailable (network issue), 60 sec was chosen (bandwith is not an issue). But as I told before, I'm open to your suggestions.

To Philip, using a single SIP proxy (opensips/ser...) in front of a FS cluster could be a single point of failure too.
I think that maybe a solution using DNS SRV to distribute the load across a cluster could do the trick or some kind of LVS (virtual IP shared across many servers)
XML curl is a good idea too.
To be honest, clustering is a must to avoid a single point of failure, but FS performance as a SBC are really great even on commodity hardware, more than 100 CallPerSecond with no transcoding. That's why I think that a mix with a SIP registrar and FS (and redundancy) could easily handle my 25 000 subscribers. I did some lab (one or 2 years ago) with Kamailio registering 90 000 users every 60sec (1500 Registration per second) without any issues.
In my network, 25 000 users are not pushing more than 10 CPS and 500 simultaneous call. I'm not doing VoIP termination.

At the moment, I'm just collecting data/feedback on what could be done as I have some time to work on this project, and if going further I will share the configuration as I did before:
http://wiki.freeswitch.org/wiki/SBC_Setup (not the best setup, but hope it helps users to begin with FS)


Le 03/05/2010 19:54, David Ponzone a écrit : 


Registering every 60 seconds is a bad idea, and this should not be justified. 
You should register every 1800 seconds and send a NAT keepalive every X seconds.
X should be slightly lower than the NAT UDP timeout of the router in front of the phones, if the phones are behind NAT.
If the phones are not behind NAT, NAT keepalive is not necessary.

David Ponzone  Direction Technique
email: david.ponzone at ipeva.fr
tel:      01 74 03 18 97
gsm:   06 66 98 76 34

Service Client IPeva

tel:      0811 46 26 26

www.ipeva.fr  -   www.ipeva-studio.com

Ce message et toutes les pièces jointes sont confidentiels et établis à l'intention exclusive de ses destinataires. Toute utilisation ou diffusion non autorisée est interdite. Tout message électronique est susceptible d'altération. IPeva décline toute responsabilité au titre de ce message s'il a été altéré, déformé ou falsifié. Si vous n'êtes pas destinataire de ce message, merci de le détruire immédiatement et d'avertir l'expéditeur.

Le 03/05/2010 à 15:39, Rod. a écrit :

Hi list,

was playing with FS 1.0.6 and trying to test the registration 
performance of FS. (Yes I know FS is more suited as a B2BUA, but please 
read further :p)

So I did the following:
    - generate one xml file with 20 000 user account like this:
<user id="1">
<param name="password" value="1234"/>
<user id="2">
<param name="password" value="1234"/>

Then I used Sipp to test how many registration per second could be fired 
to the server (quad core 2.83Ghz).
I setup ulimit variables, and disable nat.

I got this:
    - using SQL Lite: unable to get higher than 80 registrations per 
second (in fact it's less than this number but didn't test too much this 
setup), I see a lot of retransmission in Sipp
    - using SQL Lite in ramdisk (tmpfs): OK with 80 registrations per 
second but not much
    - using ODBC and mysql: 130 reg/sec is OK

With ODBC, above 150 reg/sec I see that FS is stalled to 100-110% CPU, I 
think it's because I'm using only one SIP profile and that SOFIA is 
monothreaded for this SIP profile.
If I'd like to register every 60sec, the server has to support at least 
more than 300 registration per second.

So I'm wondering if I could setup something like this:
    - use another SIP Proxy as a registrar and feed the ODBC 
"sip_registration database" of FS
    - FS will be able to use this database to setup a call
    - use FS as the outbound proxy for call routing

But what about the user params that have been setup in the xml file 
above. I think that FS loads the user params each time a user is registered.

Comments and advices are welcome.


FreeSWITCH-users mailing list
FreeSWITCH-users at lists.freeswitch.org

FreeSWITCH-users mailing list
FreeSWITCH-users at lists.freeswitch.org
Hotmail: Free, trusted and rich email service.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20100503/68a8f655/attachment.html 

More information about the FreeSWITCH-users mailing list