[Spce-user] How to deal with non-numeric characters in a dialed number
Rene Krenn
rkrenn at sipwise.com
Tue Aug 21 07:28:51 EDT 2018
Hi,
why not adding two 0cent fees to cover, ie.:
1. Non-digit source:
src: [^0-9+]+
dst: .
2. Non-digit destination:
src: .
dst: [^0-9+]+
Note that 6.5 will bring fee match modes (regex_longest_pattern/legacy,
regex_longest_pattern, prefix, exact, etc.) for way more speed and
flexibility.
regards
Von: Spce-user [mailto:spce-user-bounces at lists.sipwise.com] Im Auftrag von
Hohl Matthias
Gesendet: Dienstag, 21. August 2018 13:17
An: spce-user at lists.sipwise.com
Betreff: [Spce-user] How to deal with non-numeric characters in a dialed
number
Hello,
we often have the problem, that an UA of a subscriber is dialing a number
with non-numeric characters like -%/ or also letters like ABCD and so
on.
Everytime when this happens, our rate-o-mat stop working, cause there is no
billing profile destination pattern for such kind of characters.
Normally our billing profile pattern looks like this: Source Pattern: .
Destination Pattern: ^431.+$
My ideas to fix this problem:
1.) If a UA is calling a non-numeric number, except + in the front,
then the call should be blocked by SPCE.
So calls not formatted like #4312345 or 012345 should be blocked, without
trying to reach a peering.
Is this possible? It would the easiest way to force a subscriber to dial
correct numbers, otherwise calling is not working.
2.) Clear special characters in the INVITE:
/etc/ngcp-config/templates/etc/kamailio/proxy/kamailio.cfg.customtt.tt2
I tried to edit the kamailio.cfg.tt2 and edit it to this:
if(is_method("INVITE"))
{
$rU = $(rU{re.subst,/^(\+)?[:blank:]?\(?([0-9]*)\)?[
-.]?\(?([0-9]*)\)?[ -.]?\(?([0-9]*)\)?[ -.]?\(?([0-9]*)\)?[
-.]?\(?([0-9]*)\)?$/\1\2\3\4\5\6/});
xlog("L_NOTICE", "Consume special chars in RURI - '$rU' - [%
logreq_init -%]\n");
}
But this way, just working for -%()&*.,!$ but not for letters or
/x;:_=~@#§:[]\^°`´|<>
How do I have to edit this to clear everything witch is a non-numeric
character or a number with a + in the front?
Will this do the trick?
if(is_method("INVITE"))
{
$rU = $(rU{re.subst,/[^0-9]//g});
xlog("L_NOTICE", "Consume special chars in RURI - '$rU' - [%
logreq_init -%]\n");
}
3.) Editing the Rewrite Rules to match also against non-numeric
characters in a dialed number string. But I think this will cause more
problems like it fix.
How did you fix this problems? I think the easiest thing would be to block
everything which is not perfect formatted (1.). Is this possible?
It would be very nice if you could assist me with this problem.
Thank you
Mit freundlichen Grüßen,
Matthias Hohl
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sipwise.com/pipermail/spce-user_lists.sipwise.com/attachments/20180821/6a9b7a51/attachment-0001.html>
More information about the Spce-user
mailing list