[SR-Users] Manipulate From URI username

Daniel Tryba d.tryba at pocos.nl
Wed Oct 4 11:11:11 CEST 2017


On Wed, Oct 04, 2017 at 10:34:34AM +0200, Gertjan Wolzak wrote:
> Im trying to manipulate the username from the from uri, but not having any
> luck, I must be doing something wrong.
> 
> I receive a from uri username that is prefixed with 888, now I am trying to
> remove the triple 8.
> 
> 
> I have configured the following:
> 
> line
> 1090        if($fU=~"^888"){
> 1091                strip(3);
> 1092        }
> 1093        route(GETGROUP);
> 

strip(/prefix/striptail) manipulates $rU, not $fU. You need to use
uac_replace_from and you can call this function only once. I have some
horrible routes that normalize $fU/$tU:

route[INTERNATIONALPLUS]
{
	$avp(nfU)=$fU;
	$avp(ntU)=$tU;

	if($tU=~"^00[1-9][0-9]+$")
	{
		$avp(ntU)="+"+$(tU{s.substr,2,0});
	}
	else if($tU=~"^0[1-9][0-9]+$")
	{
		$avp(ntU)="+31"+$(tU{s.substr,1,0});
	}
...

	if($tU!=$avp(ntU))
	{
		if($tn=~"^\+?[0-1]+$")
		{
			$avp(uacreplacetodisplay)=1;
			$avp(uactodisplay)="";
		}

		$avp(uacreplacetouri)=1;
		$avp(uactouri)="sip:"+$avp(ntU)+"@"+$td;
	}

And check those avps in branches to call uac_replace_to/uac_replace_from





More information about the sr-users mailing list