Re: ModeSelection compatibility with other GK settings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jan,

I agree that someone may need both ProxyAlways and ModeSelection. Taking
into account that ProxyAlways does no harm for me I don't think that further
discussion is needed.

Your suggested configuration is not working as I need. I suppose that
FindModeRule ignores the rule 0.0.0.0/0 because it has netmask=0 and default
constructor of NetworkAddress also sets m_netmask to 0. When FindModeRule
compares netmask lengths it skips this rule because condition (0 > 0) is
always false.

I think that 

if ((ip << iter->first) && (iter->first.GetNetmaskLen() >
bestmatch.GetNetmaskLen())) {

should be changed to

if ((ip << iter->first) && (iter->first.GetNetmaskLen() >=
bestmatch.GetNetmaskLen())) {

to make this configuration work.

Am I right?

Regards,
Denis

-----Original Message-----
From: Jan Willamowius [mailto:jan@xxxxxxxxxxxxxx] 
Sent: Friday, February 12, 2010 2:00 PM
To: openh323gk-users@xxxxxxxxxxxxxxxxxxxxx
Subject: Re:  ModeSelection compatibility with other GK
settings

Dennis,

I would make a distinction here between "useless" and "redundant":
ProxyAlways is redundant, because you can achieve the same thing with
other settings, but in the current situation its one of the most
important settings.

Most problems we see on the list is that some calls fail because they
are not proxied. You can't get the config right for all calls (and
that can indeed be challenging), you can usually live with burning a
bit too much CPU, because some calls get proxied which shouldn't, but
you can't live with calls failing.
And thats where ProxyAlways comes into play.

For your example, that you have 2 internal networks where you want
H.245 routing and as soon as another network is touched, you want the
call proxied, how about this:

[ModeSelection]
172.24.96.0/24=H245ROUTED,H245ROUTED
172.25.96.0/24=H245ROUTED,H245ROUTED
0.0.0.0/0=PROXY,PROXY

ModeSelection does a longest netmask matching, so the most specific
rule is selected, but uses the maximum setting when 2 rules match.

Regards,
Jan


Denis Kochmashev "Enforta" wrote:
> Jan, thanks for your work!
> 
> I will of course prefer your patch. I also agree that settings and their
> interactions are
> getting pretty confusing. For example, ProxyAlways became useless when
> ModeSelection was introduced cause it is nothing else than 0.0.0.0/0=PROXY
> in terms of ModeSelection :)
> 
> Concerning ModeSelection and InternalNetwork I must say that a problem
> exists which I can't solve just using ModeSelection. I'll try to describe
> it.
> 
> Let us assume that we have 2 networks: 172.24.96.0/24 and 172.25.96.0/24.
We
> need to make Proxy work as follows:
> 1) calls between them SHOULD NOT be proxied (h245routed);
> 2) calls between them and let's say "all the rest" SHOULD be proxied.
> 
> How should I configure ModeSelection to implement this?
> 
> Documentation says: "The first mode is used for calls into and out of the
> specified network. The second mode is used for calls that stay inside the
> network. If only one mode is specified it is used for both cases."
> 
> My solution was:
> [ModeSelection]
> 172.24.96.0/24=PROXY,H245ROUTED
> 172.25.96.0/24=PROXY,H245ROUTED
> 
> In this case I'll get item 2) fulfilled. But this would violate the
> requirements of item 1) because calls between 172.24.96.0/24 and
> 172.25.96.0/24 will also be proxied.
> 
> That's why I changed SelectRoutingMode to use InternalNetwork for such
> situations. This is probably not the right solution. But whould you kindly
> help me to find it?
> 
> Regards,
> Denis
>  
> -----Original Message-----
> From: Jan Willamowius [mailto:jan@xxxxxxxxxxxxxx] 
> Sent: Thursday, February 11, 2010 7:01 PM
> To: openh323gk-users@xxxxxxxxxxxxxxxxxxxxx
> Subject: Re:  ModeSelection compatibility with other GK
> settings
> 
> Hi Dennis,
> 
> I agree with the first item, that the H245Routed setting should be
> considered when we insert the implied rules for the internal networks.
> I've added patch similar to yours into the CVS.
> 
> I'm not so sure with the 2nd item:
> The ModeSelection rules allow a much more fine grained setting than the
> old settings based on detected or configured internal networks.
> If one want to override settings for detected internal networks with
> ModeSelection rules, those should be applied regardless whether the
> networks were detected as internal or not. .fromExternal here means "not
> from within the netmask of this rule".
> As a result, if you use any ModeSelection rules, you probably should
> specify rules for all your networks and not rely on the other settings.
> 
> I would fully agree that the settings and their interactions are
> getting pretty confusing. I think I would prefer to remove most of
> the old switched and only use ModeSelection, but removing old options
> isn't very popular with most users who just want to upgrade their
> gatekeeper version. ;-)
> 
> Regards,
> Jan
> 
> 
> Denis Kochmashev "Enforta" wrote:
> > Hello Jan and Simon!
> >  
> > I suppose that ModeSelection is incompatible with several .INI
parameters.
> >  
> > 1.  RoutedMode.
> > I see that in Toolkit::ProxyCriterion::LoadConfig "internal_netmode" is
> set
> > to CallRec::Proxied or to CallRec::SignalRouted regardless of global
> > gatekeeper routed mode. So if H245Routed=1 is set in .INI it will be
> > ignored.
> >  
> > 2.  InternalNetwork.
> > In Toolkit::ProxyCriterion::SelectRoutingMode "mode" gets the value of
> > .fromExternal even if both endpoints are on networks which are listed in
> > InternalNetwork parameter.
> >  
> > I've made a small patch to Toolkit.cxx which makes proxy work as I need,
> but
> > I doubt that I did everything right. Please look at it. Probably it will
> be
> > useful.
> >  
> > Regards,
> > Denis

-- 
Jan Willamowius, jan@xxxxxxxxxxxxxx, http://www.gnugk.org/

----------------------------------------------------------------------------
--
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
_______________________________________________________

Posting: mailto:Openh323gk-users@xxxxxxxxxxxxxxxxxxxxx
Archive:
http://sourceforge.net/mailarchive/forum.php?forum_name=openh323gk-users
Unsubscribe: http://lists.sourceforge.net/lists/listinfo/openh323gk-users
Homepage: http://www.gnugk.org/


------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
_______________________________________________________

Posting: mailto:Openh323gk-users@xxxxxxxxxxxxxxxxxxxxx
Archive: http://sourceforge.net/mailarchive/forum.php?forum_name=openh323gk-users
Unsubscribe: http://lists.sourceforge.net/lists/listinfo/openh323gk-users
Homepage: http://www.gnugk.org/

[Index of Archives]     [SIP]     [Open H.323]     [Gnu Gatekeeper]     [Asterisk PBX]     [ISDN Cause Codes]     [Yosemite News]

  Powered by Linux