Hi!
Meanwhile I splitted the regexp into several smaller ones nad now it
works. But I found an interesting thing when removing blanks from an AVP:
This one works fine:
avp_subst("$avp(s:pai)/$avp(s:painb)","/[[:blank:]]//g");
This one causes "out of mem":
avp_subst("$avp(s:pai)/$avp(s:painb)","/[[:blank:]]*//g");
^
07:17:46 server2 /usr/sbin/openser[6565]: subst_run: running. r=0
07:17:46 server2 /usr/sbin/openser[6565]: subst_run: matched (0, 0): []
07:18:12 server2 /usr/sbin/openser[6565]: subst_run: running. r=0
07:18:12 server2 /usr/sbin/openser[6565]: subst_run: matched (0, 0): []
07:18:12 server2 /usr/sbin/openser[6565]: subst_run: running. r=0
07:18:12 server2 /usr/sbin/openser[6565]: subst_run: matched (0, 0): []
07:18:12 server2 /usr/sbin/openser[6565]: ERROR: replace_build: out of
mem (rpl)
07:18:12 server2 /usr/sbin/openser[6565]: subst_str: no match
07:18:12 server2 /usr/sbin/openser[6565]: avpops:ops_subst: subst to 0 avps
regards
klaus
Klaus Darilion wrote:
Norman Brandinger wrote:
Hi Klaus,
Below is a little test I put together to try to help you out:
avp_write("<tel:+43108>", "$avp(s:pai)");
avp_subst("$avp(s:pai)/$avp(s:cli)","/<tel\:(.*)>/\1/");
xlog("L_NOTICE", "pai=$avp(s:pai) cli=$avp(s:cli)\n");
This is the result:
pai=<tel:+43108> cli=+43108
Hi Norman. Yes, you are right. I simply had a wrong regular expression.
But now I have another problem:
Input: $avp(s:pai) = '< tel:+43103 >'
(the part within '')
avp_subst("$avp(s:pai)/$avp(s:paias)","/.*<[[:blank:]]*(.*?)[[:blank:]]*>.*/\1/")
Output: $avp(s:paias) = 'tel:+43103 '
Thus, the leading whitespace is removed, but not the trailing one, but I
can't find an error in my regular expression. Maybe some regexp experts
out there?
thanks
klaus
Regards,
Norm
Klaus Darilion wrote:
Hi!
I have problems with avp_subst:
I have $avp(s:pai) with the value <tel:+43108> (the < and > belongs
to the AVP)
Then I want to extract the number into $avp(s:cli):
avp_subst("$avp(s:pai)/$avp(s:cli)","/tel:(.*)/\1/")
The result is <+43108>
Can someone explain me why the leading < belongs to the result?
Shouldn't it be removed?
thanks
klaus
_______________________________________________
Users mailing list
Users(a)openser.org
http://openser.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
Users(a)openser.org
http://openser.org/cgi-bin/mailman/listinfo/users