[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