[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 Users mailing list