Hi Alex,

Can you provide your usrloc and dmq_usrloc module parameters please?

Cheers,

Charles


On Fri, 15 Dec 2017 at 20:54, Alex Balashov <abalashov@evaristesys.com> wrote:
By way of follow-up:

db_mode 1 likewise fails, in the same fashion.

db_mode 2 does work and successfully sync the contact to the DB on
timer_interval.

So, I suspect this is some sort of race that raises when immediate
database write-through is required.

On Fri, Dec 15, 2017 at 02:31:06PM -0500, Alex Balashov wrote:

> Hi,
>
> Running bleeding-edge branch 5.1 clone here.
>
> dmq_usrloc replication works fine when using in-memory only backing for
> the underlying usrloc module, i.e. db_mode 0. I haven't tried mode 1 and
> mode 2.
>
> I use mode 3, so that contacts are immediately persisted straight to a
> local database. The database flavour is PostgreSQL in this case.
>
> When new contacts replicated via dmq_usrloc come in, I get this in the
> Kamailio log:
>
> Dec 15 19:23:35 evaristesys-testbed-2 /usr/local/sbin/kamailio[9395]: ERROR: <core> [db.c:465]: db_use_table(): invalid parameter value
> Dec 15 19:23:35 evaristesys-testbed-2 /usr/local/sbin/kamailio[9395]: ERROR: usrloc [udomain.c:817]: db_load_urecord_by_ruid(): failed to use table location
> Dec 15 19:23:35 evaristesys-testbed-2 /usr/local/sbin/kamailio[9395]: WARNING: dmq_usrloc [usrloc_sync.c:147]: delete_contact(): AOR/Contact not found
> Dec 15 19:23:35 evaristesys-testbed-2 /usr/local/sbin/kamailio[9395]: ERROR: <core> [db.c:465]: db_use_table(): invalid parameter value
> Dec 15 19:23:35 evaristesys-testbed-2 /usr/local/sbin/kamailio[9395]: ERROR: usrloc [udomain.c:817]: db_load_urecord_by_ruid(): failed to use table location
> Dec 15 19:23:35 evaristesys-testbed-2 /usr/local/sbin/kamailio[9395]: WARNING: dmq_usrloc [usrloc_sync.c:147]: delete_contact(): AOR/Contact not found
>
> I added some code to lib/srdb1/db.c to print the parameter name and the
> location being passed to db_use_table():
>
>   */
>  int db_use_table(db1_con_t* _h, const str* _t)
>  {
> +       LM_ERR("DB handle = %p\n", _h);
> +
>         if (!_h || !_t || !_t->s) {
> -               LM_ERR("invalid parameter value\n");
> +               LM_ERR("invalid parameter value %.*s\n", _t->len, _t->s);
>                 return -1;
>         }
>
> And got this:
>
> Dec 15 19:23:36 evaristesys-testbed-2 /usr/local/sbin/kamailio[9395]: ERROR: <core> [db.c:462]: db_use_table(): DB handle = (nil)
> Dec 15 19:23:36 evaristesys-testbed-2 /usr/local/sbin/kamailio[9395]: ERROR: <core> [db.c:465]: db_use_table(): invalid parameter value location
> Dec 15 19:23:36 evaristesys-testbed-2 /usr/local/sbin/kamailio[9395]: ERROR: usrloc [udomain.c:631]: db_load_urecord(): failed to use table location
> Dec 15 19:23:36 evaristesys-testbed-2 /usr/local/sbin/kamailio[9395]: ERROR: <core> [db.c:462]: db_use_table(): DB handle = (nil)
> Dec 15 19:23:36 evaristesys-testbed-2 /usr/local/sbin/kamailio[9395]: ERROR: <core> [db.c:465]: db_use_table(): invalid parameter value location
> Dec 15 19:23:36 evaristesys-testbed-2 /usr/local/sbin/kamailio[9395]: ERROR: usrloc [ucontact.c:679]: db_insert_ucontact(): sql use_table failed
> Dec 15 19:23:36 evaristesys-testbed-2 /usr/local/sbin/kamailio[9395]: ERROR: usrloc [urecord.c:582]: insert_ucontact(): failed to insert in database
>
> So, it appears the DB handle being passed here is NULL is in this
> situation.
>
> The same AOR is present in 'ul.dump' RPC command when using db_mode 0.
>
> Please advise? :)
>
> -- Alex
>
> --
> Alex Balashov | Principal | Evariste Systems LLC
>
> Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free)
> Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
>
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users@lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

--
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/

_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

Sipcentric Ltd. Company registered in England & Wales no. 7365592. Registered office: Faraday Wharf, Innovation Birmingham Campus, Holt Street, Birmingham Science Park, Birmingham B7 4BB.