Hi Alex
I'm not sure offhand how to forcefully override the q-value provided by the client. However, if you have two types of clients, (a) one that sends a q=0.5 value and (b) others that send no value, you can set default_q to 0.5.
This is what I do for testing now. But if a client is sending a different q attribute, this will break thinks, so I guess there must be a way to override the value sent by the client.
The documentation mentions this should work:
modparam("registrar", "xavp_cfg", "reg") $xavp(reg=>q) = 500;
So maybe there are more prerequisites which I missed to make this work?
I also found an old notice in my config stating that setting $xavp(reg=>max_contacts) had no effect.
default_q only applies to clients registering without q attribute.
Also I fear that t_load_contacts() cleans the XAVP before loading the destination set obtained by lookup into it. Is there a way to prevent this? Is there another way to load contacts from multiple AoR into the destination set?
In my example I had:
AoR Alice with 2 contacts both q=0.5 AoR Bob with 1 contact q=0.5
modparam("tm", "contacts_avp", "tm_contacts") modparam("tm", "contact_flows_avp", "tm_contact_flows")
lookup("location", "sip:alice@example.com"); t_load_contacts(0); lookup("location", "sip:bob@example.com"); t_load_contacts(0);
t_on_branch("BR_TO_LOC"); route(RELAY);
I would expect to see parallel forking to 3 contacts. I observe only the call towards bob's contact.
I keep digging...
Mit freundlichen Grüssen
-Benoît Panizzon-