>> You added sleep(1000), which is sleep for 1000 seconds -- that's quite 
>>some time to wait (more than 15min) before sending next registration.

that sleep(1000) was just for testing to be sure that our code is executed.
but it with our "fix" the initial register start without any delay.

so our code does not work.  

do you have any tipp what to chance?

cheers,

rené



 

Daniel-Constantin Mierla
Dienstag, 9. Oktober 2012 14:08
Hello,

you added an extra parameter to the function as well, so there should be other modifications. Better send the patch with your changes to see if there is something wrong. If you got it from git, run:

git diff >/path/to/patchfile

Cheers,
Daniel

On 10/9/12 2:00 PM, Rene Bormann wrote:

--
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio Advanced Training, Berlin, Nov 5-8, 2012 - http://asipto.com/u/kat
Kamailio Advanced Training, Miami, USA, Nov 12-14, 2012 - http://asipto.com/u/katu
Rene Bormann
Dienstag, 9. Oktober 2012 14:00
Hello @all,

want to use the remote register function of the UAC module.
We need to register 42 accounts on one openSER server.

At kamailio startup those 42 remote register requests will be startet at the same time.
This leads to a kind of FlodAttact on the openSER server of our provider, which will block us :-(

We would like to delay each initial remote register by 1 second.

We searched the UAC module and taught that at some place the uac.so module has to load the uacreg table and do some for loop to start the remote register process.

We found function child_init() in uac.c where the function uac_reg_load_db() is called followed uac_reg_timer().

Our change to uac_reg_timer() is the sleep(1).

After compiling it seems to us - that this function is not called.
Is there anybody how has a tip for us?

Thanks,

René






/**
 *
 */
void uac_reg_timer(unsigned int ticks, unsigned int initial_reg_call)
{
        LM_ERR("----------------------- uac_reg_timer() -- enter \n");
<------>int i;
<------>reg_item_t *it =bsp;NULL;
<------>time_t tn;

<------>tn =bsp;time(NULL);
<------>for(i= i<_reg_htable->htsize; i++)
<------>{
<------><------>/* free entries */
<------><------>it =bsp;_reg_htable->entries[i].byuuid;
<------><------>while(it)
<------><------>{
                        LM_ERR("----------------------- uac_reg_timer() -- 1 \n");

<------><------><------>if (initial_reg_call =nbsp;1)
<------><------><------>{
                                LM_ERR("----------------------- uac_reg_timer() -- 2 \n");
<------><------><------><------>sleep(1);
<------><------><------>}
<------><------><------>uac_reg_update(it->r, tn);
<------><------><------>it =bsp;it->next;
<------><------>}
<------>}
}





_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
René Bormann
Dienstag, 9. Oktober 2012 13:55
Hello @all,

want to use the remote register function of the UAC module.
We need to register 42 accounts on one openSER server.

At kamailio startup those 42 remote register requests will be startet at the same time.
This leads to a kind of FlodAttact on the openSER server of our provider, which will block us :-(

We would like to delay each initial remote register by 1 second.

We searched the UAC module and taught that at some place the uac.so module has to load the uacreg table and do some for loop to start the remote register process.

We found function child_init() in uac.c where the function uac_reg_load_db() is called followed uac_reg_timer().

Our change to uac_reg_timer() is the sleep(1).

After compiling it seems to us - that this function is not called.
Is there anybody how has a tip for us?

Thanks,

René






/**
 *
 */
void uac_reg_timer(unsigned int ticks, unsigned int initial_reg_call)
{
        LM_ERR("----------------------- uac_reg_timer() -- enter \n");
<------>int i;
<------>reg_item_t *it = NULL;
<------>time_t tn;

<------>tn = time(NULL);
<------>for(i=0; i<_reg_htable->htsize; i++)
<------>{
<------><------>/* free entries */
<------><------>it = _reg_htable->entries[i].byuuid;
<------><------>while(it)
<------><------>{
                        LM_ERR("----------------------- uac_reg_timer() -- 1 \n");

<------><------><------>if (initial_reg_call == 1)
<------><------><------>{
                                LM_ERR("----------------------- uac_reg_timer() -- 2 \n");
<------><------><------><------>sleep(1);
<------><------><------>}
<------><------><------>uac_reg_update(it->r, tn);
<------><------><------>it = it->next;
<------><------>}
<------>}
}






--
-----------------------------------------

Telefonkonferenzen zum Festnetzpreis!

Einfach kostenlos Konferenzraum anfordern

       http://www.talkyoo.net

-----------------------------------------

René Bormann
Geschäftsführer

BB Tel GmbH
Jungfernstieg 30, 20354 Hamburg
Register: Amtsgericht Hamburg, HRB 86074
Geschäftführer: René Bormann

Tel: +49 (0) 1805 - 65 777 777 *
Fax: +49 (0) 1805 - 65 777 799 *

http://www.bbtel.de
-----------------------------------------

*  (bbtel.de 14ct/min)
** (es entstehen die Kosten, die ihre
Telefongesellschaft zu einer Hamburger
Festnetz-Rufnummer berechnet.)
-----------------------------------------