[SR-Users] usrloc module with dbmode=2 does not insert records to database

Vik Killa vipkilla at gmail.com
Fri Jan 13 15:30:02 CET 2017


Hi Daniel,
RPC flush is not setting the flag, but im not sure that is where the issue
is, as I stated, we are not setting any memory-only flags with save()

But here is the flush function (FL_MEM not set)

static void ul_rpc_flush(rpc_t* rpc, void* ctx)
{
synchronize_all_udomains(0, 1);
return;
}

Any ideas?
Thanks,
/V


On Fri, Jan 13, 2017 at 9:24 AM, Vik Killa <vipkilla at gmail.com> wrote:

> Hi,
> We have tried using these flags:
>
> save("location")
> save("location", "0x00")
> save("location", "0x04")
>
> And still memory does not get flushed to DB.
> I will test the RPC command.
> Thanks,
> /V
>
>
> On Fri, Jan 13, 2017 at 9:12 AM, Daniel-Constantin Mierla <
> miconda at gmail.com> wrote:
>
>> Hello,
>>
>> that flag is used to mark a contact for storage only in memory. The
>> save() function has a parameter with flags where this kind of storage can
>> be set. Can you check the RPC command is setting this flag?
>> Cheers,
>> Daniel
>>
>>
>> On 13/01/2017 15:06, Vik Killa wrote:
>>
>> following up here
>> i found if we comment out a single line of code, kamcmd ul.flush works
>>
>> here is the git diff
>>
>>
>>
>> diff --git a/src/modules/usrloc/ucontact.c b/src/modules/usrloc/ucontact.
>> c
>> index 47f3c2f..633ca81 100644
>> --- a/src/modules/usrloc/ucontact.c
>> +++ b/src/modules/usrloc/ucontact.c
>> @@ -474,7 +474,7 @@ int db_insert_ucontact(ucontact_t* _c)
>>         int nr_cols;
>>
>>         if (_c->flags & FL_MEM) {
>> -               return 0;
>> +               //return 0;
>>         }
>>         if(unlikely(_c->ruid.len<=0)) {
>>                 LM_ERR("invalid ruid for aor: %.*s\n",
>>
>>
>>
>>
>>
>> I don't quite understand the logic in that code.
>> Does anyone have an idea of why `        if (_c->flags & FL_MEM) {`
>> returns?
>>
>> Thanks,
>> /V
>>
>>
>> On Thu, Jan 12, 2017 at 4:34 PM, Vik Killa <vipkilla at gmail.com> wrote:
>>
>>> Hello,
>>> we've noticed that the usrloc module does not "sync" all the records
>>> from memory into the database.
>>> I use a bash script to generate in-memory AoRs (
>>> http://paste.debian.net/plain/908521)
>>> then i perform
>>> kamcmd ul.flush
>>> and no records are inserted.
>>> We have tried various usrloc parameters but none seem to work
>>> Here is our basic setup
>>>
>>> # ----- usrloc params -----
>>> modparam("usrloc", "db_url", DBURL)
>>> modparam("usrloc", "db_mode", 2)
>>> modparam("usrloc", "use_domain", 1)
>>> modparam("usrloc", "timer_interval", 120)
>>> modparam("usrloc", "timer_procs", 4)
>>>
>>> We are using postgresql.
>>> are we missing something?
>>>
>>> Thanks
>>> /V
>>>
>>
>>
>>
>> _______________________________________________
>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing listsr-users at lists.sip-router.orghttp://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>
>>
>> --
>> Daniel-Constantin Mierlawww.twitter.com/miconda -- www.linkedin.com/in/miconda
>> Kamailio World Conference - May 8-10, 2017 - www.kamailioworld.com
>>
>>
>> _______________________________________________
>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>> sr-users at lists.sip-router.org
>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20170113/9cee2115/attachment.html>


More information about the sr-users mailing list