Ron,<br><br>I don&#39;t know - but I suspect that expires is a actual time. That would make sense to me - something like:<br><br>expires = epochNow + timeout;<br><br>As for the 40,000 users - are you really planning doing this on one box? Registrations + there traffic? Surely doing a FS cluster as discussed or having OpenSIPS handle registration would be the way to go here. <br>
<br><br><br><div class="gmail_quote">On Thu, May 6, 2010 at 5:13 AM, Rod. <span dir="ltr">&lt;<a href="mailto:kawarod@laposte.net">kawarod@laposte.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">



  

<div text="#000000" bgcolor="#ffffff">
Hi,<br>
<br>
At the moment, I&#39;m registering 40000 users in FS using ODBC with no
more than 16 registration/sec.<br>
When I do a select in the sip_registrations table, I see that every
sip_user have an expires value equal to something like &quot;1273141208&quot;
even if I&#39;m using an expire value of 3600 in my sip register request.<br>
<br>
+-----------------------+----------+--------------+----------------+-----------------------------------+-----------------+---------+------------+------------+-------------+---------------+--------------+----------+------------+--------------+--------------+--------------+----------+--------------+------------------+---------------+<br>

| call_id               | sip_user | sip_host     | presence_hosts |
contact                           | status          | rpid    |
expires    | user_agent | server_user | server_host   | profile_name |
hostname | network_ip | network_port | sip_username | sip_realm    |
mwi_user | mwi_host     | orig_server_host | orig_hostname |<br>
+-----------------------+----------+--------------+----------------+-----------------------------------+-----------------+---------+------------+------------+-------------+---------------+--------------+----------+------------+--------------+--------------+--------------+----------+--------------+------------------+---------------+<br>

| <a href="mailto:83755-2574@10.10.55.1" target="_blank">83755-2574@10.10.55.1</a> | 3755     | 10.10.55.254 | 10.10.55.254   |
&quot;user&quot; <a href="mailto:sip:3755@10.10.55.1:5060" target="_blank">&lt;sip:3755@10.10.55.1:5060&gt;</a> | Registered(UDP) | unknown |
1273141208 | SIPp/Linux | 3755        | 172.30.30.129 | internal     |
voip     | 10.10.55.1 | 5060         | 3755         | 10.10.55.254 |
3755     | 10.10.55.254 | 172.30.30.129    | voip          | <br>
+-----------------------+----------+--------------+----------------+-----------------------------------+-----------------+---------+------------+------------+-------------+---------------+--------------+----------+------------+--------------+--------------+--------------+----------+--------------+------------------+---------------+<br>

<br>
When I look in the sofia status profile, it seems that the correct
expires value is set. Any idea why the expires is not set accordingly
to the SIP REGISTER.<br>
<br>
Moreover, when doing a &quot;sofia status profile internal&quot; with such a huge
subscribers list, the CPU is at 100% and processing no more SIP
messages.<br>
Is there a way to prevent this, by setting for example a lower priority
to CLI request. I already mounted the SQLlite DB in RAM to avoid IO
bottlenecks.<br>
<br>
regards,<br>
rod<br>
<br>
<br>
Le 04/05/2010 12:12, Rod. a écrit :
<div><div></div><div class="h5"><blockquote type="cite">
  
  
Hi,<br>
  <br>
I already thought about that, as I&#39;m using static IP it could be even
easier. <br>
But how to check network connectivity issue and reroute call to
voicemail asap: call progress timeout ??<br>
  <br>
rod<br>
  <br>
  <br>
  <br>
Le 03/05/2010 21:42, Jan Berger a écrit :
  <blockquote type="cite">
    May
a
suggest a change filter developed if this really is needed?<br>
 <br>
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.<br>
 <br>
Jan<br>
 <br>
    <hr>Date: Mon, 3 May 2010 21:06:54 +0400<br>
From: <a href="mailto:kawarod@laposte.net" target="_blank">kawarod@laposte.net</a><br>
To: <a href="mailto:freeswitch-users@lists.freeswitch.org" target="_blank">freeswitch-users@lists.freeswitch.org</a><br>
Subject: Re: [Freeswitch-users] Registration ODBC feeded by another
registrar proxy<br>
    <br>
Hi,<br>
    <br>
thanks for your answer and just some details to describe what I&#39;m
looking for.<br>
I have to register 25 000 subscribers, no NAT is involved, each
equipment has its own IP address.<br>
These equipments are registering every 60 seconds on our current
platform, but I can change this parameter if needed.<br>
Equipments are ADSL CPE (router), that&#39;s why I&#39;m using 60sec cause
flapping could happen very often with ADSL if the copper line is
crappy. ADSL could be very unpredictable sometimes.<br>
As I don&#39;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&#39;m open to your suggestions.<br>
    <br>
To Philip, using a single SIP proxy (opensips/ser...) in front of a FS
cluster could be a single point of failure too.<br>
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)<br>
XML curl is a good idea too.<br>
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&#39;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.<br>
In my network, 25 000 users are not pushing more than 10 CPS and 500
simultaneous call. I&#39;m not doing VoIP termination.<br>
    <br>
At the moment, I&#39;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:<br>
    <a href="http://wiki.freeswitch.org/wiki/SBC_Setup" target="_blank">http://wiki.freeswitch.org/wiki/SBC_Setup</a>
(not the best setup, but hope it helps users to begin with FS)<br>
    <br>
regards,<br>
rod.<br>
    <br>
    <br>
    <br>
    <br>
Le 03/05/2010 19:54, David Ponzone a écrit :
    <blockquote>
      <div>Rod,</div>
      <div><br>
      </div>
Registering every 60 seconds is a bad idea, and this should not be
justified.
      <div>You should register every 1800 seconds and send a NAT
keepalive every X seconds.</div>
      <div>X should be slightly lower than the NAT UDP timeout of the
router in front of the phones, if the phones are behind NAT.</div>
      <div>If the phones are not behind NAT, NAT keepalive is not
necessary.</div>
      <div><br>
      <div><span style="text-transform: none; text-indent: 0px; border-collapse: separate; font: 14px Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px;">
      <div style="word-wrap: break-word;"><span style="text-transform: none; text-indent: 0px; border-collapse: separate; font: 14px Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px;">
      <div style="word-wrap: break-word;">
      <div><font face="&#39;Helvetica Neue&#39;"><font color="#1c00ff">David Ponzone  </font><font color="#000000" size="3"><span style="font-size: 12px;">Direction
Technique</span></font></font></div>
      <div><font face="&#39;Helvetica Neue&#39;"><font size="3"><span style="font-size: 13px;">email: <a href="mailto:david.ponzone@ipeva.fr" target="_blank">david.ponzone@ipeva.fr</a></span></font></font></div>
      <div><font face="&#39;Helvetica Neue&#39;"><font size="3"><span style="font-size: 13px;">tel:      01 74 03 18 97</span></font></font></div>
      <div><font face="&#39;Helvetica Neue&#39;"><font size="3"><span style="font-size: 13px;">gsm:   06 66 98 76 34</span></font></font></div>
      <div><font face="&#39;Helvetica Neue&#39;"><br>
      </font></div>
      <div><font color="#1c00ff" face="&#39;Helvetica Neue&#39;">Service Client<span> </span></font><font face="&#39;Helvetica Neue&#39;"><font color="#ff0000">IP</font></font><font color="#1c00ff" face="&#39;Helvetica Neue&#39;">eva</font></div>

      <div><font color="#1c00ff" face="&#39;Helvetica Neue&#39;"><span style="font-family: Helvetica; color: rgb(0, 0, 0);">
      <div><font face="&#39;Helvetica Neue&#39;"><font size="3"><span style="font-size: 13px;">tel:      0811 46 26 26</span></font></font></div>
      <div><font face="&#39;Helvetica Neue&#39;" size="3"><span style="font-size: 13px;">
      <div style="font: 10px Arial; color: rgb(0, 34, 243);"><span style="text-decoration: underline;"><a>www.ipeva.fr</a></span><span style="color: rgb(101, 104, 149);">  -   <span style="color: rgb(0, 34, 243); text-decoration: underline;"><a>www.ipeva-studio.com</a></span></span></div>

      <div style="font: 10px Arial; color: rgb(0, 34, 243);"><span style="text-decoration: underline;"><br>
      </span></div>
      <div style="font: 10px Arial; color: rgb(0, 34, 243);"><span>
      <div style="text-align: justify; font: 10px Arial; color: rgb(192, 192, 192);"><i>Ce
message
et toutes les pièces jointes sont confidentiels et établis à
l&#39;intention exclusive de ses destinataires. Toute utilisation ou
diffusion non autorisée est interdite. Tout message électronique est
susceptible d&#39;altération. </i><b><i>IPeva</i></b><i> décline toute
responsabilité au titre de ce message s&#39;il a été altéré, déformé ou
falsifié. Si vous n&#39;êtes pas destinataire de ce message, merci de le
détruire immédiatement et d&#39;avertir l&#39;expéditeur.</i></div>
      <div style="text-align: justify; text-decoration: underline;"><font color="#c0c0c0"><i><br>
      </i></font></div>
      </span></div>
      </span></font></div>
      </span></font></div>
      </div>
      </span><br>
      </div>
      </span><br>
      </div>
      <br>
      <div>
      <div>Le 03/05/2010 à 15:39, Rod. a écrit :</div>
      <br>
      <blockquote>
        <div>Hi list,<br>
        <br>
was playing with FS 1.0.6 and trying to test the registration <br>
performance of FS. (Yes I know FS is more suited as a B2BUA, but please
        <br>
read further :p)<br>
        <br>
So I did the following:<br>
    - generate one xml file with 20 000 user account like this:<br>
&lt;include&gt;<br>
&lt;user id=&quot;1&quot;&gt;<br>
&lt;params&gt;<br>
&lt;param name=&quot;password&quot; value=&quot;1234&quot;/&gt;<br>
&lt;/params&gt;<br>
&lt;/user&gt;<br>
&lt;user id=&quot;2&quot;&gt;<br>
&lt;params&gt;<br>
&lt;param name=&quot;password&quot; value=&quot;1234&quot;/&gt;<br>
&lt;/params&gt;<br>
            ...<br>
        <br>
Then I used Sipp to test how many registration per second could be
fired <br>
to the server (quad core 2.83Ghz).<br>
I setup ulimit variables, and disable nat.<br>
        <br>
I got this:<br>
    - using SQL Lite: unable to get higher than 80 registrations per <br>
second (in fact it&#39;s less than this number but didn&#39;t test too much
this <br>
setup), I see a lot of retransmission in Sipp<br>
    - using SQL Lite in ramdisk (tmpfs): OK with 80 registrations per <br>
second but not much<br>
    - using ODBC and mysql: 130 reg/sec is OK<br>
        <br>
With ODBC, above 150 reg/sec I see that FS is stalled to 100-110% CPU,
I <br>
think it&#39;s because I&#39;m using only one SIP profile and that SOFIA is <br>
monothreaded for this SIP profile.<br>
If I&#39;d like to register every 60sec, the server has to support at least
        <br>
more than 300 registration per second.<br>
        <br>
So I&#39;m wondering if I could setup something like this:<br>
    - use another SIP Proxy as a registrar and feed the ODBC <br>
&quot;sip_registration database&quot; of FS<br>
    - FS will be able to use this database to setup a call<br>
    - use FS as the outbound proxy for call routing<br>
        <br>
But what about the user params that have been setup in the xml file <br>
above. I think that FS loads the user params each time a user is
registered.<br>
        <br>
Comments and advices are welcome.<br>
        <br>
regards,<br>
rod.<br>
        <br>
        <br>
        <br>
_______________________________________________<br>
FreeSWITCH-users mailing list<br>
        <a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
        <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
        <a href="http://www.freeswitch.org/" target="_blank">http://www.freeswitch.org</a><br>
        </div>
      </blockquote>
      </div>
      <br>
      </div>
      <pre><fieldset></fieldset>
_______________________________________________
FreeSWITCH-users mailing list
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a>
<a href="http://www.freeswitch.org/" target="_blank">http://www.freeswitch.org</a>
  </pre>
    </blockquote>
    <br>
    <br>
    <hr>Hotmail: Free, trusted and rich email service. <a href="https://signup.live.com/signup.aspx?id=60969" target="_blank">Get
it now.</a>
    <pre><fieldset></fieldset>
_______________________________________________
FreeSWITCH-users mailing list
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a>
  </pre>
  </blockquote>
  <br>
  <pre><fieldset></fieldset>
_______________________________________________
FreeSWITCH-users mailing list
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a>
  </pre>
</blockquote>
<br>
</div></div></div>

<br>_______________________________________________<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br></blockquote></div><br>