[SR-Users] usrloc extra attributes and db_mode=0

Patrick Wakano pwakano at gmail.com
Wed May 29 09:02:45 CEST 2019


Hi Daniel!
I tried the patch, but it didn't work.... After some more debugging I
noticed that actually the problem is in the replication via the dmq_usrloc
module. The Kamailio which receives the registration can access the
attributes despite the DB mode (also it works without your patch). The
problem is that the replicated nodes don't have access to it.
Sorry my first impression was that the location attributes was not working
with DB mode 0, but actually it is the DMQ replication failing to send
contact attributes to other nodes...
I got this in the logs, may be helpful (the serialized data has nothing
related to the xavp...)
May 29 16:06:18 kamailio-2 /usr/sbin/kamailio[23230]: DEBUG: registrar
[save.c:410]: pack_ci(): generated ruid is: uloc-5cee2114-5abe-2
May 29 16:06:18 kamailio-2 /usr/sbin/kamailio[23230]: DEBUG: usrloc
[ucontact.c:73]: ucontact_xavp_store(): trying to clone per contact xavps
May 29 16:06:18 kamailio-2 /usr/sbin/kamailio[23230]: DEBUG: <core>
[core/xavp.c:697]: xavp_clone_level_nodata(): cloned root xavp [ulattrs]
May 29 16:06:18 kamailio-2 /usr/sbin/kamailio[23230]: DEBUG: <core>
[core/xavp.c:721]: xavp_clone_level_nodata(): cloned inner xavp
[cluster_node]
May 29 16:06:18 kamailio-2 /usr/sbin/kamailio[23230]: DEBUG: usrloc
[ucontact.c:1701]: update_ucontact(): exists callback for type=
UL_CONTACT_UPDATE
May 29 16:06:18 kamailio-2 /usr/sbin/kamailio[23230]: DEBUG: usrloc
[ul_callback.h:84]: run_ul_callbacks(): contact=0x7f51b624d418, callback
type 2/15, id 1 entered
May 29 16:06:18 kamailio-2 /usr/sbin/kamailio[23230]: DEBUG: dmq_usrloc
[usrloc_sync.c:776]: dmq_ul_cb_contact(): Callback from usrloc with type=2
May 29 16:06:18 kamailio-2 /usr/sbin/kamailio[23230]: DEBUG: dmq_usrloc
[usrloc_sync.c:427]: init_usrloc_dmq_recv(): Initializing usrloc_dmq_recv
for pid (23230)
May 29 16:06:18 kamailio-2 /usr/sbin/kamailio[23230]: DEBUG: dmq_usrloc
[usrloc_sync.c:785]: dmq_ul_cb_contact(): Replicating local update to other
nodes...
May 29 16:06:18 kamailio-2 /usr/sbin/kamailio[23230]: DEBUG: dmq_usrloc
[usrloc_sync.c:746]: usrloc_dmq_send_contact(): sending serialized data
{"action":1,"aor":"345671002","ruid":"uloc-5cee20df-5953-1","c":"sip:345671002 at 172.28.128.200:5060
;rinstance=38e53fed7e84e081;transport=UDP","received":"","path":"<sip:172.28.128.102:5060
;received=sip:172.28.128.200:5060;lr>","callid":"NOeeFh1Bh5JR0eJG8DENkg..","user_agent":"Z
3.15.40006
rv2.8.20","instance":"","expires":1559110577,"cseq":12,"flags":0,"cflags":3072,"q":-1,"last_modified":1559109977,"methods":4294967295,"reg_id":0,"server_id":0}
May 29 16:06:18 kamailio-2 /usr/sbin/kamailio[23230]: DEBUG: dmq_usrloc
[usrloc_sync.c:315]: usrloc_dmq_send(): sending dmq broadcast...

I can open a ticket if the problem is confirmed!
Thanks,
Cheers,
Patrick Wakano

On Tue, 28 May 2019 at 17:17, Patrick Wakano <pwakano at gmail.com> wrote:

> Wow, that was fast!
> I will try later on and let you know!
> Thanks Daniel for your time and effort! Really appreciate it!
>
> Cheers,
> Patrick Wakano
>
>
> On Tue, 28 May 2019 at 17:00, Daniel-Constantin Mierla <miconda at gmail.com>
> wrote:
>
>> Hello,
>>
>> can you try with master branch or apply the patch from next commit?
>>
>>   -
>> https://github.com/kamailio/kamailio/commit/76f0fa8a0330de3885f5f3830eb90061c59045d4
>> If works ok, then I will backport.
>>
>> Cheers,
>> Daniel
>>
>> On 28.05.19 08:30, Patrick Wakano wrote:
>>
>> Forgot to mention I am using version 5.2.2.
>> # kamailio -v
>> version: kamailio 5.2.2 (x86_64/linux) 67f967
>> flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS,
>> DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC,
>> Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX,
>> FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR,
>> USE_DST_BLACKLIST, HAVE_RESOLV_RES
>> ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144 MAX_URI_SIZE 1024,
>> BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
>> poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
>> id: 67f967
>> compiled on 11:40:41 Mar 11 2019 with gcc 4.8.5
>>
>> On Tue, 28 May 2019 at 16:26, Patrick Wakano <pwakano at gmail.com> wrote:
>>
>>> Hello list,
>>> Hope you all doing well!
>>>
>>> I am trying to use the extra attributes (xavp_contact) of the usrloc
>>> module to save some additional info about the user.
>>> I am setting the value before the save() and doing a call to
>>> registered() (not lookup()) before trying to access these extra attributes.
>>> This works fine with db_mode=3 but does not work in case of db_mode=0.
>>> Does anyone knows if it should also work with mode 0? I was expecting it
>>> to work but a call to kamcmd ul.dump show nothing related.....
>>> I don't want to use the DB for the location purposes because I prefer to
>>> have multiple servers using the dmq_usrloc (that works like a charm!) and
>>> it conflicts with DB persistence of the location table (when the DMQ
>>> replication happens, all servers (sharing the same DB) try to save the same
>>> user info in the location table)
>>>
>>> Thank you,
>>> Kind regards,
>>> Patrick Wakano
>>>
>>
>> _______________________________________________
>> Kamailio (SER) - Users Mailing Listsr-users at lists.kamailio.orghttps://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>
>> --
>> Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20190529/32c43f34/attachment.html>


More information about the sr-users mailing list