Hi Daniel,
Answering your question:
* without my last patch, was it working on the local node?* Yes, it works
on the local node without your patch. Actually, I could not see any change
with your patch....
The problem looks like to be the DMQ replication only. The remote nodes
don't receive the extra attributes...
I will open a ticket because it does seems to be a bug with the dmq_usrloc
module.
Thank you for your time!
Kind regards,
Patrick Wakano
On Wed, 29 May 2019 at 17:25, Daniel-Constantin Mierla <miconda(a)gmail.com>
wrote:
Hello,
to clarify: without my last patch, was it working on the local node? Or
now with the patch is working for local node, but still an issue of not
replicating the xavps?
Cheers,
Daniel
On 29.05.19 09:02, Patrick Wakano wrote:
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@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(a)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(a)gmail.com>
wrote:
> Hello,
>
> can you try with master branch or apply the patch from next commit?
>
> -
>
https://github.com/kamailio/kamailio/commit/76f0fa8a0330de3885f5f3830eb9006…
> 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(a)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@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
>
> --
Daniel-Constantin Mierla --
www.asipto.comwww.twitter.com/miconda --
www.linkedin.com/in/miconda