Hi Bogdan,
No, the r-uri is definitely ok. Here's the real-world snipped and logging example. The snipped is placed as very first code in route[0]:
if(uri =~ ";sw_domain=.+") { xlog("L_INFO", "unprocessed uri='$ru'\n"); $var(swdom) = $(ru{uri.param,sw_domain}); xlog("L_INFO", "domain='$var(swdom)'\n"); $ru = "sip:" + $rU + "@" + $var(swdom); xlog("L_INFO", "processed uri='$ru'\n"); }
This works well for ~5 times, then I get:
unprocessed uri='sip:agranig@192.168.101.11;sw_domain=sipwise.com' domain='' ERROR: parse_uri: bad host in uri (error at char ERROR: parse_sip_msg_uri: bad uri sip:agranig@ xl_get_ruri: ERROR while parsing the R-URI processed uri='<null>' msg_uri: bad uri sip:user@
Andreas
Bogdan-Andrei Iancu wrote:
Hi Andreas,
I rather suspect that there is a problem with the RURI you are trying to use. I guess you get the error for the first line ($var(mydom) = $(ru{uri.param,my_domain});), so can you check (xlog) what's the ruri before?
regards, bogdan
Andreas Granig wrote:
Hi,
At the top of my config I've put the following snippet for some SEMS routings:
if(uri =~ ";my_domain=.+") { $var(mydom) = $(ru{uri.param,my_domain}); xlog("L_INFO", "domain='$var(mydom)'\n"); $ru = "sip:" + $rU + "@" + $var(mydom); }
It does nothing more than changing an r-uri "sip:user@domain;my_domain=otherdomain" to "sip:user@otherdomain". This works fine for some requests, but then it starts to complain:
xl_get_ruri: ERROR while parsing the R-URI domain='' ERROR: parse_uri: bad host in uri (error at char ERROR: parse_sip_msg_uri: bad uri sip:user@
So obviously the transformation $(ru{uri.param,my_domain}) doesn't return the parameter anymore, but it's present in the r-uri. After a restart it works again for some requests, then again stops working.
Any hints? Andreas
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users