If the usrloc parameter "xavp_contact" is set, the given XAVP is populated with
the contact attributes when the "lookup" function is called. The usrloc README
example uses the name 'ulattrs'.
The tm module parameters 'contacts_avp' and 'contact_flows_avp' are
populated when the t_load_contacts() function is called. These store the data from the
branch structures but, before my changes, did not know anything about the attributes
loaded by usrloc.
My changes mean that the usrloc attributes are now loaded into the 'contacts_avp'
data when t_load_contacts() is called. However, the tm module needs to know the name of
the XAVP that usrloc stored these attributes in, hence the new parameter and why they must
have the same value.
If you do not set the 'xavp_contact' parameter in usrloc, then attributes are not
stored / loaded when you call 'register' / 'lookup'. It is therefore not
needed in tm module either.
If you supply the parameter to usrloc, but NOT tm, then the attributes are ignored by the
load/next_contacts functions and the bug will still be present.
---
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/178#issuecomment-111520934