I figured out a way to send q-value by using auth user, however ran into an issue-
# Check Authorization User for q-value and replace Contact header
if $(au{param.count}) > 0 {
$var(qvalue)=$(au{param.value,q});
if($var(qvalue) != $null) {
xlog("L_INFO", "REGISTER $fU: q-value specified by client q=$var(qvalue)\n");
$var(newct) = $ct + ';q=0.' + $var(qvalue);
xlog("L_INFO", "REGISTER $fU: new pending Contact hdr: $var(newct)\n");
remove_hf("Contact");
append_hf("Contact: $var(newct)\r\n");
xlog("L_INFO", "REGISTER $fU: new Contact hdr: $hdr(Contact)\n");
}
}
Results in:
Nov 5 03:06:45 SIP01 /usr/local/sbin/kamailio[3319]: INFO: xlog: REGISTER someusername: q-value specified by client q=99
Nov 5 03:06:45 SIP01 /usr/local/sbin/kamailio[3319]: INFO: xlog: REGISTER someusername: new pending Contact hdr: <sip: someusername @x.x.x.x:5060>;expires=1800;q=0.99
Nov 5 03:06:45 SIP01 /usr/local/sbin/kamailio[3319]: INFO: xlog: REGISTER someusername: new Contact hdr: <sip: someusername @x.x.x.x:5060>;expires=1800
Based on the xlog output, the following doesn’t appear to be working -
remove_hf("Contact");
append_hf("Contact: $var(newct)\r\n");
I’ve actually had a similar issue before replacing a hdr so I’m wondering if I’m doing something wrong?
Thanks,
-dan
From: sr-users [mailto:sr-users-bounces@lists.sip-router.org]
On Behalf Of Daniel W. Graham
Sent: Wednesday, November 4, 2015 11:04 AM
To: miconda@gmail.com; Kamailio (SER) - Users Mailing List <sr-users@lists.sip-router.org>
Subject: Re: [SR-Users] q-value on unsupported clients
Yes
From: sr-users [mailto:sr-users-bounces@lists.sip-router.org]
On Behalf Of Daniel-Constantin Mierla
Sent: Wednesday, November 4, 2015 3:36 AM
To: Kamailio (SER) - Users Mailing List <sr-users@lists.sip-router.org>
Subject: Re: [SR-Users] q-value on unsupported clients
Hello,
do you want to add q value to Contact header on incoming REGISTER requests?
Cheers,
Daniel
On 04/11/15 08:06, Daniel W. Graham wrote:
I have a need to use q-value for serial forking but my clients don’t support it. I need to specify unique q-value on all ports on the client device.
I explored using the User-Agent header and appending q-value, but this wouldn’t help on multi-port clients.
Some things I have been thinking about are ‘abusing’ the authorization user or from user to somehow append q-value but this opens the door to other issues, and a database trigger however there would be no way to match this up to a record in another table as the usernames would be the same.
Any thoughts/ideas or methods others have used in situations like this?
-Dan
_______________________________________________SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing listsr-users@lists.sip-router.orghttp://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Book: SIP Routing With Kamailio - http://www.asipto.com
Kamailio Advanced Training, Nov 30-Dec 2, Berlin - http://asipto.com/kat