[OpenSER-Users] uri transformation errors in 1.2
Andreas Granig
agranig at sipwise.com
Wed Aug 8 09:14:28 CEST 2007
Btw, forget the last log line "msg_uri: bad uri <sip:user@>", it sneaked
in while copy&paste. Rest is ok.
Andreas Granig wrote:
> 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 at 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 at domain;my_domain=otherdomain" to "sip:user at 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 at openser.org
>>> http://openser.org/cgi-bin/mailman/listinfo/users
>>>
>>
>
> _______________________________________________
> Users mailing list
> Users at openser.org
> http://openser.org/cgi-bin/mailman/listinfo/users
More information about the sr-users
mailing list