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-
--
I m p r o W a r e A G - Leiter Commerce Kunden
______________________________________________________
Zurlindenstrasse 29 Tel +41 61 826 93 00
CH-4133 Pratteln Fax +41 61 826 93 01
Schweiz Web
http://www.imp.ch
______________________________________________________