[SR-Users] sip-router config file syntax question
Andrei Pelinescu-Onciul
andrei at iptel.org
Fri Jun 18 22:45:06 CEST 2010
On Jun 15, 2010 at 17:07, Andrei Pelinescu-Onciul <andrei at iptel.org> wrote:
> On Jun 15, 2010 at 14:43, Klaus Darilion <klaus.mailinglists at pernau.at> wrote:
> > > ->
> >
> >
> >
> > Am 15.06.2010 12:53, schrieb Andrei Pelinescu-Onciul:
> > >On Jun 14, 2010 at 13:29, Steven C. Blair<blairs at isc.upenn.edu> wrote:
> > >>
> > >> I'm migrating from an older version of SER to sip-router. A syntax check of my config file produces a few errors. The most confusing is :
> > >>
> > >>0(27980) WARNING:<core> [cfg.y:3364]: warning in config file /home/blairs/ser-penn.cfg, line 1270, column 22-23: non constant rvalue in ip comparison
> > >>
> > >>Line 1270 is the following if statement:
> > >>
> > >>if (to_ip==$g.gw_ip&& !isflagset(FLAG_PSTN_ALLOWED)
> > >> && !isflagset(FLAG_TOTAG)
> > >> && method != "ACK"&& method != "CANCEL")
> > >>
> > >>I do not see anything mentioned in config_migration.txt which explains this warning. Does anyone have any thoughts on how to correct this error?
> > >
> > >You could safely ignore it. It was there just as a suggestion that comparing
> > >ips with non constant expressions ($g.gw_ip in this case) is not the
> > >fastest thing to do. I'll remove it.
> >
> > Andrei, how will the comparison be done? IP-based or string-based.
>
> If the value is not constant then string based.
> If it's constant then: ip based if possible/ip, if not try string based
> and if that fails too try comparing with DNS(target) and if this also
> fails try revDNS(to_ip) with string(target).
>
> >
> > e.g. if the string 01.01.01.01 is compared against 1.1.1.1, will it
> > be identical?
>
> If 01.01.01.01 is the result of a non-constant expression, then no.
I was wrong, it will be identical, because of the DNS part.
string comparison will fail, but then it will try to compare:
ip(1.1.1.1) with DNS(01.01.01.01)=1.1.1.1.
Anyway I changed the code now and it won't attempt string comparisons
anymore, it will try first to convert the other side to ip or a
network/mask format.
The only exception is for ~=, e.g. src_ip ~= "10\.[12]\..*" where
regex matches will be used.
>
> > What about IPv6 addresses?
>
> Same as above.
>
> I guess I know now why I have left that warning :-)
>
>
Andrei
More information about the sr-users
mailing list