regex problem
Thomas Balsfulland
tbals at ctrl-c.de
Wed Sep 20 16:13:41 CEST 2006
hallo leute,
ich habe ein regex-problem mit dem openser (sip proxy).
in einer bedingung soll geprueft werden, ob:
- die rufnummer eine deutsche ist (49 am anfang)
- ein "+" davor ist, oder auch nicht
- min 9 stellen und max 15 stellen hat.
das mit der 49 und dem "+" ist ja nicht das problem, aber das pruefen
der rufnummernlaenge. so siehts in der config aus:
if (uri=~"^sip:\+?49[1-9][0-9]*{6,9}@.*") {
route_call
} else {
print "b-rufnummer falsch"
exit
}
aber dabei wird immer "route_call" ausgefuehrt.
wenn ich stattdessen
if (uri=~"^sip:\+?49[1-9][0-9]*\{6,9\}@.*")
schreibe, wird immer in den else-zweig gesprungen.
hier mal ein paar eingehende URIs, die geprueft werden soll:
INVITE sip:495241335336 at 62.53.239.214
INVITE sip:4952412144911 at 62.53.239.214
INVITE sip:4952419087689 at 62.53.239.214
was mache ich falsch?
in der doku steht:
"openser supports only POSIX regular expression"
gruss
thomas
--
thomas balsfulland tbals at ctrl-c.de
zwischen mut und dummheit liegt nur ein grat
der sich durch das vorbereitetsein unterscheidet
More information about the Linux
mailing list