Hello Daniel!
Thanks for the reply. Here's the first line of a request where uri_param() fails to detect user=phone is already present. IPs, phone numbers and domains have been censored, but most properties (number of parts, length etc) have been preserved where possible:
INVITE sip:+306974000000@2.2.2.2;user=phone SIP/2.0
The example code in my original message results in the following (the script also replaces the domain part and adds the npdi username parameter):
INVITE sip:+306974000000;npdi@my.domain.tld;user=phone;user=phone SIP/2.0
BR, George
On 23 October 2017 at 10:22, Daniel-Constantin Mierla miconda@gmail.com wrote:
Hello,
On 13.10.17 17:25, George Diamantopoulos wrote:
Hello,
In my script I've had to test for the user=phone parameter in URIs. I thought uri_param() from siputils would be handy for this operation on the RURI, so I did:
if ( !uri_param("user","phone") ) { add_uri_param("user=phone"); }
Unfortunately this wouldn't work (uri_param returns -1), and I end up with double user=phone params in the RURI.
I was able to work around this by changing the test to:
if ( !($(ru{uri.uparam}) == "phone") ) { add_uri_param("user=phone"); }
But I wanted to ask if this is intentional or if I should file a bug or something. Thanks.
according to the docs, uri_param() should work for this case. Can you paste the first line of the request that fails with uri_param() function so I can look at the code and see if there is any issue there?
Cheers, Daniel
-- Daniel-Constantin Mierla www.twitter.com/miconda -- www.linkedin.com/in/miconda Kamailio Advanced Training, Nov 13-15, 2017, in Berlin - www.asipto.com Kamailio World Conference - www.kamailioworld.com