<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Hi Bodgan,<br>
Mainly matching, to allow me to verify that a customer owns the CLI he
is presenting.<br>
<br>
Ideally I was thinking substitution as I can then add as well in one
operation.. but I can do that as 2 separate operations.<br>
<br>
So... how can I do a dynamic match using an account specific pattern? <br>
<br>
pseudo code would be:<br>
if $(preferred cli) matches $(customer regexp from database) {<br>
$callerid=$(customer cli prefix) + $(preferred cli)<br>
}<br>
else {<br>
$callerid=$(customer default cli)<br>
}<br>
<br>
The bit I am struggling with is the operation to match a dynamic
variable.<br>
<br>
Thanks<br>
Paul<br>
<br>
Bogdan-Andrei Iancu wrote:
<blockquote cite="mid:4C9B0266.9000009@voice-system.ro" type="cite">
<pre wrap="">Hi Paul,
you need a substitution, replacement or simply matching ?
Regards,
Bogdan
Paul Smith wrote:
</pre>
<blockquote type="cite">
<pre wrap="">Hi Bogdan,
Thanks for the reply. I am using dialplan module for mangling the
dialled number to local valid service codes and e164 destinations.
I was hoping to use a simple field in the usr_preferences or
substitution table to hold a substitution pattern for each user's
verified callerid (P-Preferred-Identity) ranges.
I'll have to have a think about how to use dialplan to do this, and
still keep my simple user provisioning gui...
*Paul Smith | Technical Director | Clarity Telecom*
Number One, Lanyon Quay, Belfast, BT1 3LG
Phone:         0800 91 21 000 | 1800 855 111
FAX:         0800 91 21 999 | 1800 855 112
Email:         <a class="moz-txt-link-abbreviated" href="mailto:Paul.Smith@ClarityTele.com">Paul.Smith@ClarityTele.com</a>
Web:         <a class="moz-txt-link-freetext" href="http://www.ClarityTele.com">http://www.ClarityTele.com</a>
Bogdan-Andrei Iancu wrote:
</pre>
<blockquote type="cite">
<pre wrap="">Hi Paul,
have you looked at dialplan module ?
<a class="moz-txt-link-freetext" href="http://www.opensips.org/html/docs/modules/1.6.x/dialplan.html">http://www.opensips.org/html/docs/modules/1.6.x/dialplan.html</a>
The subst-like funcs in script do not support dynamic patterns..
Regards,
Bogdan
Paul Smith wrote:
</pre>
<blockquote type="cite">
<pre wrap="">How can I do a regular expression substitution on an avp where the
pattern is loaded from the user subsrciption or usr_preference table?
For example I need to limit callerid presented to a pre-determined range
owned by my customer, and perform substitution eg add a prefix. If a
UAC sets P-Preferred-identify to 1234 and I have a usr_preference to
match any 4 digit caller starting with 1, and prefix with 789 then
callerid should be set to 7891234
I have in mind something like:
In my database I set the expression for $avp(s:expcallerid) for this
user to "/1.{3}/789\1/i"
then in my dialplan I want to match and substitute the
Preferred-Identity to form the $avp(s:callerid) and then set
P-Asserted-Identity
xlog("dialled number = $rU");
xlog("callerid barring requested by device = $avp(s:clir)");
xlog("callerid preferred set by device = $pU");
xlog("callerid expression for this user = $avp(s:expcallerid)");
xlog("default callerid for this user = $avp(s:defcallerid)");
$avp(s:callerid)=$avp(s:defcallerid);
if($avp(s:clir)){
# user has restricted callerid
$avp(s:callerid)="Anonymous";
} else if($pU) {
# UAC device has set preferred callerid
$avp(s:callerid)=pU;
if(avp_subst("$avp(s:callerid)",$avp(s:expcallerid)) ){
xlog("preferred callerid matched callerid expression");
} else {
xlog("preferred callerid rejected, using default");
$avp(s:callerid)=$avp(s:defcallerid);
}
} else {
#use default callerid
$avp(s:callerid)=$avp(s:defcallerid);
}
I get the error
Sep 22 12:30:21 [6253] CRITICAL:core:yyerror: parse error in config
file, line 518, column 44-45: bad arguments for command <avp_subst>
which I think means that avp_subst is expecting a static regular
expression in the script, whereas I want a user variable as the regular
expression.
Is there another way to look at the problem? Have I missed something
obvious (again)?
Thanks
Paul
_______________________________________________
Users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>
<a class="moz-txt-link-freetext" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a>
</pre>
</blockquote>
<pre wrap="">
</pre>
</blockquote>
<pre wrap="">------------------------------------------------------------------------
_______________________________________________
Users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>
<a class="moz-txt-link-freetext" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a>
</pre>
</blockquote>
<pre wrap=""><!---->
</pre>
</blockquote>
</body>
</html>