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@62.53.239.214 INVITE sip:4952412144911@62.53.239.214 INVITE sip:4952419087689@62.53.239.214 was mache ich falsch? in der doku steht: "openser supports only POSIX regular expression" gruss thomas -- thomas balsfulland tbals@ctrl-c.de zwischen mut und dummheit liegt nur ein grat der sich durch das vorbereitetsein unterscheidet
Teilnehmer (2)
-
Maximilian Wilhelm
-
Thomas Balsfulland