Denis, thats the first patrt and I added that to the CVS, but my suggestion still doesn't work In addition we need an invalid state for NetworkAddress so we can detect if any rule matched. But thats more surgery that I have time for today. Jan Denis Kochmashev "Enforta" wrote: > 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/