With #998 and #1000 applied and some debug
REGISTER ``` Feb 17 14:03:55 sp1 proxy[22494]: NOTICE: <script>: New request on proxy - M=REGISTER R=sip:192.168.1.71 F=sip:43993005@192.168.1.71 T=sip:43993005@192.168.1.71 IP=192.168.1.42:23583 (127.0.0.1:5060) ID=2b992fcc401d153fccd64bcdd8fed57b@0.0.0.0 UA='Jitsi2.9.5521Linux' Feb 17 14:03:55 sp1 proxy[22494]: DEBUG: usrloc [udomain.c:641]: db_load_urecord(): aor 43993005@192.168.1.71 not found in table location Feb 17 14:03:55 sp1 proxy[22494]: DEBUG: usrloc [udomain.c:174]: get_static_urecord(): urecord static[0x7fe7be1a1200] Feb 17 14:03:55 sp1 proxy[22494]: DEBUG: registrar [path.c:108]: build_path_vector(): received is sip:192.168.1.42:23583 Feb 17 14:03:55 sp1 proxy[22494]: DEBUG: registrar [path.c:116]: build_path_vector(): path is <sip:lb@127.0.0.1;lr;received=sip:192.168.1.42:23583;socket=sip:192.168.1.71:5060> Feb 17 14:03:55 sp1 proxy[22494]: DEBUG: registrar [save.c:410]: pack_ci(): generated ruid is: uloc-58a6f487-57de-1 Feb 17 14:03:55 sp1 proxy[22494]: DEBUG: usrloc [ucontact.c:142]: new_ucontact(): new ucontact[0x7fe7ae088248] Feb 17 14:03:55 sp1 proxy[22494]: DEBUG: usrloc [ul_callback.h:84]: run_ul_callbacks(): contact=0x7fe7ae088248, callback type 1/1, id 0 entered Feb 17 14:03:55 sp1 proxy[22494]: DEBUG: pua_reginfo [usrloc_cb.c:245]: reginfo_usrloc_cb(): AOR: 43993005@192.168.1.71 (location) Feb 17 14:03:55 sp1 proxy[22494]: DEBUG: pua_reginfo [usrloc_cb.c:246]: reginfo_usrloc_cb(): type= UL_CONTACT_INSERT Feb 17 14:03:55 sp1 proxy[22494]: DEBUG: usrloc [udomain.c:174]: get_static_urecord(): urecord static[0x7fe7be1a1200] Feb 17 14:03:55 sp1 proxy[22494]: DEBUG: usrloc [ucontact.c:142]: new_ucontact(): new ucontact[0x7fe7ae088640] Feb 17 14:03:55 sp1 proxy[22494]: DEBUG: usrloc [udomain.c:1155]: get_urecord(): DB_ONLY urecord[0x7fe7be1a1200] Feb 17 14:03:55 sp1 proxy[22494]: DEBUG: pua_reginfo [usrloc_cb.c:105]: build_reginfo_full(): Updated Contact sip:43993005@192.168.1.42:23583;transport=udp;registering_acc=192_168_1_71[uloc-58a6f487-57de-1] Feb 17 14:03:55 sp1 proxy[22494]: DEBUG: pua_reginfo [usrloc_cb.c:111]: build_reginfo_full(): Contact sip:43993005@192.168.1.42:23583;transport=udp;registering_acc=192_168_1_71[uloc-58a6f487-57de-1] Feb 17 14:03:55 sp1 proxy[22494]: DEBUG: pua_reginfo [usrloc_cb.c:303]: reginfo_usrloc_cb(): XML-Body:#012<?xml version="1.0"?>#012<reginfo xmlns="urn:ietf:params:xml:ns:reginfo" version="0" state="full">#012 <registration aor="sip:43993005@192.168.1.71" id="0x7fe7be1a1200" state="active">#012 <contact id="0x7fe7ae088640" state="active" event="created" expires="434" callid="2b992fcc401d153fccd64bcdd8fed57b@0.0.0.0" cseq="2" received="sip:192.168.1.42:23583" path="<sip:lb@127.0.0.1;lr;received=sip:192.168.1.42:23583;socket=sip:192.168.1.71:5060>" user_agent="Jitsi2.9.5521Linux">#012 <uri>sip:43993005@192.168.1.42:23583;transport=udp;registering_acc=192_168_1_71</uri>#012 </contact>#012 </registration>#012</reginfo>#012 Feb 17 14:03:55 sp1 proxy[22494]: DEBUG: pua_reginfo [usrloc_cb.c:305]: reginfo_usrloc_cb(): Contact sip:43993005@192.168.1.42:23583;transport=udp;registering_acc=192_168_1_71, 0x7fe7ae088248 Feb 17 14:03:55 sp1 proxy[22494]: DEBUG: usrloc [urecord.c:553]: release_urecord(): free urecord[0x7fe7be1a1200] Feb 17 14:03:55 sp1 proxy[22494]: DEBUG: usrloc [ucontact.c:179]: free_ucontact(): free ucontact[0x7fe7ae088640] Feb 17 14:03:55 sp1 proxy[22494]: DEBUG: registrar [reply.c:366]: build_contact(): created Contact HF: Contact: sip:43993005@192.168.1.42:23583;transport=udp;registering_acc=192_168_1_71;expires=434;received="sip:192.168.1.42:23583"#015#012 Feb 17 14:03:55 sp1 proxy[22494]: DEBUG: usrloc [urecord.c:553]: release_urecord(): free urecord[0x7fe7be1a1200] Feb 17 14:03:55 sp1 proxy[22494]: DEBUG: usrloc [ucontact.c:179]: free_ucontact(): free ucontact[0x7fe7ae088248] Feb 17 14:03:55 sp1 proxy[22494]: NOTICE: <script>: Contacts successfully saved, expires in 600s - R=sip:192.168.1.71 ID=2b992fcc401d153fccd64bcdd8fed57b@0.0.0.0 UA='Jitsi2.9.5521Linux' ```
Both ``ucontact[0x7fe7ae088248]`` and ``ucontact[0x7fe7ae088640]`` are freed now
UPDATE REGISTER
``` Feb 17 14:04:10 sp1 proxy[22494]: NOTICE: <script>: New request on proxy - M=REGISTER R=sip:192.168.1.71 F=sip:43993005@192.168.1.71 T=sip:43993005@192.168.1.71 IP=192.168.1.42:23583 (127.0.0.1:5060) ID=2b992fcc401d153fccd64bcdd8fed57b@0.0.0.0 UA='Jitsi2.9.5521Linux' Feb 17 14:04:10 sp1 proxy[22494]: DEBUG: usrloc [udomain.c:174]: get_static_urecord(): urecord static[0x7fe7be1a1200] Feb 17 14:04:10 sp1 proxy[22494]: DEBUG: usrloc [ucontact.c:142]: new_ucontact(): new ucontact[0x7fe7ae086930] Feb 17 14:04:10 sp1 proxy[22494]: DEBUG: usrloc [udomain.c:1155]: get_urecord(): DB_ONLY urecord[0x7fe7be1a1200] Feb 17 14:04:10 sp1 proxy[22494]: DEBUG: registrar [path.c:108]: build_path_vector(): received is sip:192.168.1.42:23583 Feb 17 14:04:10 sp1 proxy[22494]: DEBUG: registrar [path.c:116]: build_path_vector(): path is <sip:lb@127.0.0.1;lr;received=sip:192.168.1.42:23583;socket=sip:192.168.1.71:5060> Feb 17 14:04:10 sp1 proxy[22494]: DEBUG: registrar [save.c:410]: pack_ci(): generated ruid is: uloc-58a6f487-57de-2 Feb 17 14:04:10 sp1 proxy[22494]: DEBUG: registrar [save.c:591]: test_max_contacts(): 1 valid contacts Feb 17 14:04:10 sp1 proxy[22494]: DEBUG: registrar [save.c:613]: test_max_contacts(): 1 contacts after commit Feb 17 14:04:10 sp1 proxy[22494]: DEBUG: registrar [save.c:410]: pack_ci(): generated ruid is: uloc-58a6f487-57de-3 Feb 17 14:04:10 sp1 proxy[22494]: DEBUG: usrloc [ucontact.c:1005]: db_update_ucontact_ruid(): ruid:uloc-58a6f487-57de-1 Feb 17 14:04:10 sp1 proxy[22494]: DEBUG: usrloc [ucontact.c:1134]: db_update_ucontact_ruid(): contact:sip:43993005@192.168.1.42:23583;transport=udp;registering_acc=192_168_1_71 Feb 17 14:04:10 sp1 proxy[22494]: DEBUG: usrloc [ucontact.c:1693]: update_ucontact(): exists callback for type= UL_CONTACT_UPDATE Feb 17 14:04:10 sp1 proxy[22494]: DEBUG: usrloc [ul_callback.h:84]: run_ul_callbacks(): contact=0x7fe7ae086930, callback type 2/2, id 2 entered Feb 17 14:04:10 sp1 proxy[22494]: DEBUG: pua_reginfo [usrloc_cb.c:245]: reginfo_usrloc_cb(): AOR: 43993005@192.168.1.71 (location) Feb 17 14:04:10 sp1 proxy[22494]: DEBUG: pua_reginfo [usrloc_cb.c:247]: reginfo_usrloc_cb(): type= UL_CONTACT_UPDATE Feb 17 14:04:10 sp1 proxy[22494]: DEBUG: usrloc [udomain.c:174]: get_static_urecord(): urecord static[0x7fe7be1a1200] Feb 17 14:04:10 sp1 proxy[22494]: DEBUG: usrloc [ucontact.c:142]: new_ucontact(): new ucontact[0x7fe7ae086d28] Feb 17 14:04:10 sp1 proxy[22494]: DEBUG: usrloc [udomain.c:1155]: get_urecord(): DB_ONLY urecord[0x7fe7be1a1200] Feb 17 14:04:10 sp1 proxy[22494]: DEBUG: pua_reginfo [usrloc_cb.c:105]: build_reginfo_full(): Updated Contact sip:43993005@192.168.1.42:23583;transport=udp;registering_acc=192_168_1_71[uloc-58a6f487-57de-1] Feb 17 14:04:10 sp1 proxy[22494]: DEBUG: pua_reginfo [usrloc_cb.c:111]: build_reginfo_full(): Contact sip:43993005@192.168.1.42:23583;transport=udp;registering_acc=192_168_1_71[uloc-58a6f487-57de-1] Feb 17 14:04:10 sp1 proxy[22494]: DEBUG: pua_reginfo [usrloc_cb.c:303]: reginfo_usrloc_cb(): XML-Body:#012<?xml version="1.0"?>#012<reginfo xmlns="urn:ietf:params:xml:ns:reginfo" version="0" state="full">#012 <registration aor="sip:43993005@192.168.1.71" id="0x7fe7be1a1200" state="active">#012 <contact id="0x7fe7ae086d28" state="active" event="refreshed" expires="598" callid="2b992fcc401d153fccd64bcdd8fed57b@0.0.0.0" cseq="3" received="sip:192.168.1.42:23583" path="<sip:lb@127.0.0.1;lr;received=sip:192.168.1.42:23583;socket=sip:192.168.1.71:5060>" user_agent="Jitsi2.9.5521Linux">#012 <uri>sip:43993005@192.168.1.42:23583;transport=udp;registering_acc=192_168_1_71</uri>#012 </contact>#012 </registration>#012</reginfo>#012 Feb 17 14:04:10 sp1 proxy[22494]: DEBUG: pua_reginfo [usrloc_cb.c:305]: reginfo_usrloc_cb(): Contact sip:43993005@192.168.1.42:23583;transport=udp;registering_acc=192_168_1_71, 0x7fe7ae086930 Feb 17 14:04:10 sp1 proxy[22494]: DEBUG: usrloc [urecord.c:553]: release_urecord(): free urecord[0x7fe7be1a1200] Feb 17 14:04:10 sp1 proxy[22494]: DEBUG: usrloc [ucontact.c:179]: free_ucontact(): free ucontact[0x7fe7ae086d28] Feb 17 14:04:10 sp1 proxy[22494]: DEBUG: registrar [reply.c:366]: build_contact(): created Contact HF: Contact: sip:43993005@192.168.1.42:23583;transport=udp;registering_acc=192_168_1_71;expires=598;received="sip:192.168.1.42:23583"#015#012 Feb 17 14:04:10 sp1 proxy[22494]: DEBUG: usrloc [urecord.c:553]: release_urecord(): free urecord[0x7fe7be1a1200] Feb 17 14:04:10 sp1 proxy[22494]: DEBUG: usrloc [ucontact.c:179]: free_ucontact(): free ucontact[0x7fe7ae086930] Feb 17 14:04:10 sp1 proxy[22494]: NOTICE: <script>: Contacts successfully updated, expires in 600s - R=sip:192.168.1.71 ID=2b992fcc401d153fccd64bcdd8fed57b@0.0.0.0 UA='Jitsi2.9.5521Linux' ```
both ``ucontact[0x7fe7ae086930]`` and ``ucontact[0x7fe7ae086d28]`` are freed, no leak detected.
UNREGISTER
``` Feb 17 14:05:51 sp1 proxy[22494]: NOTICE: <script>: New request on proxy - M=REGISTER R=sip:192.168.1.71 F=sip:43993005@192.168.1.71 T=sip:43993005@192.168.1.71 IP=192.168.1.42:2358 3 (127.0.0.1:5060) ID=2b992fcc401d153fccd64bcdd8fed57b@0.0.0.0 UA='Jitsi2.9.5521Linux' Feb 17 14:05:51 sp1 proxy[22494]: DEBUG: usrloc [udomain.c:174]: get_static_urecord(): urecord static[0x7fe7be1a1200] Feb 17 14:05:51 sp1 proxy[22494]: DEBUG: usrloc [ucontact.c:142]: new_ucontact(): new ucontact[0x7fe7ae089760] Feb 17 14:05:51 sp1 proxy[22494]: DEBUG: usrloc [udomain.c:1155]: get_urecord(): DB_ONLY urecord[0x7fe7be1a1200] Feb 17 14:05:51 sp1 proxy[22494]: DEBUG: registrar [path.c:108]: build_path_vector(): received is sip:192.168.1.42:23583 Feb 17 14:05:51 sp1 proxy[22494]: DEBUG: registrar [path.c:116]: build_path_vector(): path is <sip:lb@127.0.0.1;lr;received=sip:192.168.1.42:23583;socket=sip:192.168.1.71:5060> Feb 17 14:05:51 sp1 proxy[22494]: DEBUG: registrar [save.c:410]: pack_ci(): generated ruid is: uloc-58a6f487-57de-01 Feb 17 14:05:51 sp1 proxy[22494]: DEBUG: registrar [save.c:591]: test_max_contacts(): 1 valid contacts Feb 17 14:05:51 sp1 proxy[22494]: DEBUG: registrar [save.c:613]: test_max_contacts(): 0 contacts after commit Feb 17 14:05:51 sp1 proxy[22494]: DEBUG: registrar [save.c:410]: pack_ci(): generated ruid is: uloc-58a6f487-57de-11 Feb 17 14:05:51 sp1 proxy[22494]: DEBUG: usrloc [ul_callback.h:84]: run_ul_callbacks(): contact=0x7fe7ae089760, callback type 4/4, id 3 entered Feb 17 14:05:51 sp1 proxy[22494]: DEBUG: pua_reginfo [usrloc_cb.c:245]: reginfo_usrloc_cb(): AOR: 43993005@192.168.1.71 (location) Feb 17 14:05:51 sp1 proxy[22494]: DEBUG: pua_reginfo [usrloc_cb.c:249]: reginfo_usrloc_cb(): type= UL_CONTACT_DELETE Feb 17 14:05:51 sp1 proxy[22494]: DEBUG: usrloc [udomain.c:174]: get_static_urecord(): urecord static[0x7fe7be1a1200] Feb 17 14:05:51 sp1 proxy[22494]: DEBUG: usrloc [ucontact.c:142]: new_ucontact(): new ucontact[0x7fe7ae089b58] Feb 17 14:05:51 sp1 proxy[22494]: DEBUG: usrloc [udomain.c:1155]: get_urecord(): DB_ONLY urecord[0x7fe7be1a1200] Feb 17 14:05:51 sp1 proxy[22494]: DEBUG: pua_reginfo [usrloc_cb.c:105]: build_reginfo_full(): Updated Contact sip:43993005@192.168.1.42:23583;transport=udp;registering_acc=192_168_1 _71[uloc-58a6f487-57de-1] Feb 17 14:05:51 sp1 proxy[22494]: DEBUG: pua_reginfo [usrloc_cb.c:111]: build_reginfo_full(): Contact sip:43993005@192.168.1.42:23583;transport=udp;registering_acc=192_168_1_71[uloc -58a6f487-57de-1] Feb 17 14:05:51 sp1 proxy[22494]: DEBUG: pua_reginfo [usrloc_cb.c:303]: reginfo_usrloc_cb(): XML-Body:#012<?xml version="1.0"?>#012<reginfo xmlns="urn:ietf:params:xml:ns:reginfo" ve rsion="0" state="full">#012 <registration aor="sip:43993005@192.168.1.71" id="0x7fe7be1a1200" state="terminated">#012 <contact id="0x7fe7ae089b58" state="terminated" event="unre gistered" expires="409" callid="2b992fcc401d153fccd64bcdd8fed57b@0.0.0.0" cseq="9" received="sip:192.168.1.42:23583" path="<sip:lb@127.0.0.1;lr;received=sip:192.168.1.42:23583;so cket=sip:192.168.1.71:5060>" user_agent="Jitsi2.9.5521Linux">#012 <uri>sip:43993005@192.168.1.42:23583;transport=udp;registering_acc=192_168_1_71</uri>#012 </contact>#012 </registration>#012</reginfo>#012 Feb 17 14:05:51 sp1 proxy[22494]: DEBUG: pua_reginfo [usrloc_cb.c:305]: reginfo_usrloc_cb(): Contact sip:43993005@192.168.1.42:23583;transport=udp;registering_acc=192_168_1_71, 0x7f e7ae089760 Feb 17 14:05:51 sp1 proxy[22494]: DEBUG: usrloc [urecord.c:553]: release_urecord(): free urecord[0x7fe7be1a1200] Feb 17 14:05:51 sp1 proxy[22494]: DEBUG: usrloc [ucontact.c:179]: free_ucontact(): free ucontact[0x7fe7ae089b58] Feb 17 14:05:51 sp1 proxy[22494]: DEBUG: usrloc [ucontact.c:1797]: uldb_delete_attrs_ruid(): trying to delete location attributes Feb 17 14:05:51 sp1 proxy[22494]: DEBUG: usrloc [ucontact.c:179]: free_ucontact(): free ucontact[0x7fe7ae089760] Feb 17 14:05:51 sp1 proxy[22494]: DEBUG: usrloc [urecord.c:553]: release_urecord(): free urecord[0x7fe7be1a1200] Feb 17 14:05:51 sp1 proxy[22494]: NOTICE: <script>: Contacts successfully deleted - R=sip:192.168.1.71 ID=2b992fcc401d153fccd64bcdd8fed57b@0.0.0.0 UA='Jitsi2.9.5521Linux' ```
Both ``ucontact[0x7fe7ae089760]`` and ``ucontact[0x7fe7ae089b58]`` are freed, no leak detected.