Try using the explicit policy rule.
----- Original Message -----
*From:* Jiří Gubík <mailto:jgubik@xxxxxxxxxxx>
*To:* openh323gk-users@xxxxxxxxxxxxxxxxxxxxx
<mailto:openh323gk-users@xxxxxxxxxxxxxxxxxxxxx>
*Sent:* Tuesday, July 19, 2005 6:30 PM
*Subject:* Re: LRQ routing problem with
terminal registration
Bellow find requested info, but I think that the main difference
is in LRQ handling -> Prefix match for gateway, Alias match for
terminal. Problem will be probably in different handling of Prefix
and Alias in call setup request as I already described. Look on
beginning of previously included files this is main difference:
Gateway case:
2005/07/19 12:40:56.322 5 Routing.h(138) ROUTING
Checking policy Internal for the request LRQ 9887
2005/07/19 12:40:56.323 2 RasTbl.cxx(693) RASTBL
Gateway 7129_endp matched by prefix 469775742
2005/07/19 12:40:56.323 4 RasTbl.cxx(1033) Prefix
match for GW 10.172.0.98:1720
2005/07/19 12:40:56.323 5 Routing.h(144) ROUTING
Policy Internal applied to the request LRQ 9887
2005/07/19 12:40:56.324 2 RasSrv.cxx(375)
LCF|10.172.4.253|7129_endp|469775742:dialedDigits|CTT_HK_GK;
Terminal case:
2005/07/19 12:44:00.755 1 RasSrv.cxx(330) RAS
LRQ Received
2005/07/19 12:44:00.755 3 gkauth.h(830) GKAUTH
default LRQ check ok
2005/07/19 12:44:00.755 5 Routing.h(138) ROUTING
Checking policy Internal for the request LRQ 9892
2005/07/19 12:44:00.756 4 RasTbl.cxx(996) Alias
match for EP 10.172.0.98:1720
2005/07/19 12:44:00.756 5 Routing.h(144) ROUTING
Policy Internal applied to the request LRQ 9892
2005/07/19 12:44:00.757 2 RasSrv.cxx(375)
LCF|10.172.4.253|7129_endp|469775742:dialedDigits|CTT_HK_GK;
The calls are routed correctly in case that call is originated
from device registered on same gatekeeper. I have tested it in
several different configurations.
Terminal registration
??
AllRegistrations
RCF|10.172.1.27:1720|TEST_CPS_WG3504:h323_ID|gateway|7125_endp
Tue, 19 Jul 2005 12:40:19 +0200 (permanent) C(0/0/0) <1>
Prefixes: 469775002,469775001,469775000
RCF|10.172.1.129:1720|FIASI_KOLIN_ALCATEL:h323_ID|gateway|7127_endp
Tue, 19 Jul 2005 15:57:21 +0200 C(0/0/0) <1>
Prefixes: <none>
RCF|10.172.0.98:1720|TEST3_CPS_IAD162:h323_ID=469775742:dialedDigits|terminal|7129_endp
Tue, 19 Jul 2005 12:43:41 +0200 C(0/0/0) <1>
Number of Endpoints: 3
Gateway registration
??
AllRegistrations
RCF|10.172.1.27:1720|TEST_CPS_WG3504:h323_ID|gateway|7125_endp
Tue, 19 Jul 2005 16:02:27 +0200 (permanent) C(0/0/0) <1>
Prefixes: 469775002,469775001,469775000
RCF|10.172.1.129:1720|FIASI_KOLIN_ALCATEL:h323_ID|gateway|7127_endp
Tue, 19 Jul 2005 16:00:03 +0200 C(0/0/0) <1>
Prefixes: <none>
RCF|10.172.0.98:1720|TEST3_CPS_IAD162:h323_ID:h323_ID|gateway|7135_endp
Tue, 19 Jul 2005 16:02:27 +0200 (permanent) C(0/0/0) <1>
Prefixes: 469775742
Number of Endpoints: 3
Config file for gateway setup:
[Gatekeeper::Main]
Fourtytwo=42
Name=CPS_TEST_GK
;
[LogFile]
Rotate=monthly
RotateDay=31
RotateTime=23:59
;
[RoutedMode]
GKRouted=1
H245Routed=1
CallSignalPort=1720
CallSignalHandlerNumber=1
RemoveH245AddressOnTunneling=0
AcceptNeighborsCalls=1
AcceptUnregisteredCalls=0
SupportNATedEndpoints=1
DropCallsByReleaseComplete=1
;
[RasSrv::GWPrefixes]
TEST3_CPS_IAD162:h323_ID=469775742
;
[GkStatus::Auth]
rule=allow
;
[RasSrv::RewriteE164]
;
[RoutingPolicy]
255701=neighbor
2441123=neighbor
2441124=neighbor
4885774=internal
46977500=internal
46977574=internal
Default=internal,neighbor
;
[RasSrv::Neighbors]
CTT_HK_GK=GnuGK
;
[Neighbor::CTT_HK_GK]
Host=10.172.4.253
Dynamic=0
SendPrefixes=*
AcceptPrefixes=4885774,32157102,469775000,469775001,469775002,469775003,46977574
;
[RasSrv::PermanentEndpoints]
10.172.1.27=TEST_CPS_WG3504;469775000,469775001,469775002
10.172.0.98=TEST3_CPS_IAD162:h323_ID;469775742
;
[Gatekeeper::Auth]
AliasAuth=optional;RRQ
SQLAliasAuth=required;RRQ
default=allow
;
[SQLAliasAuth]
Driver=PostgreSQL
Host=localhost
Database=voipdb
Username=xxx
Password=xxx
CacheTimeout=300
Query=SELECT 'sigip:' || host(ip) ||':'|| port FROM users WHERE
alias = '%1'
MinPoolSize=1
;
[SQLAuth]
Driver=PostgreSQL
Host=localhost
Database=voipdb
Username=xxx
Password=xxx
CallQuery=SELECT * from auth_call
('%{callerip}','%{Calling-Station-Id}','%{Called-Station-Id}',%{arq},%{answer},'%u')
;
[RasSrv::RRQAuth]
FIASI_KOLIN_ALCATEL=sigip:10.172.1.129:1720
TEST2_CPS_WG3504=sigip:10.172.0.67:1720
TEST3_CPS_IAD162=sigip:10.172.0.98:1720
;
[Gatekeeper::Acct]
SQLAcct=alternative;start,update,stop
FileAcct=required
;
[FileAcct]
DetailFile=/var/log/gk/cdr.log
Rotate=monthly
RotateDay=31
RotateTime=23:59
;
[SQLAcct]
Driver=PostgreSQL
Host=localhost
Database=voipdb
Username=xxxxx
Password=xxxx
MinPoolSize=5
StartQuery=INSERT INTO voipcall (id, h323id, acctsessionid,
h323confid, gkip, gkid, callingstationip, callingstationid,
calledstationip, calledstationid, setuptime, h323call
UpdateQuery=UPDATE voipcall SET duration = '%d', connecttime =
NULLIF('%{connect-time}','')::TIMESTAMP(0) WITH TIME ZONE WHERE
acctsessionid = '%s' AND gkid = '%g' AND accts
StopQuery=UPDATE voipcall SET acctstoptime = now(), duration =
'%d', terminatecause = '%c', whodisconnect = NULLIF('%r',
'')::INTEGER, setuptime = NULLIF('%{setup-time}', ''
StopQueryAlt=INSERT INTO voipcall (id, h323id, acctsessionid,
h323confid, gkip, gkid, callingstationip, callingstationid,
calledstationip, calledstationid, setuptime, connec
;
[CallTable]
GenerateNBCDR=0
AcctUpdateInterval=60
;
Config for terminal is same except entry in [RasSrv::GWPrefixes]
and [RasSrv::PermanentEndpoints]
Teodor Georgiev napsal(a):
Can you show the GK config as well as output from the ?? console
command.
On Tuesday 19 July 2005 15:29, Jiří Gubík wrote:
Hi,
There is bug in routing after LRQ in case that device is registered as
terminal. GK does not answer correctly after searching in internal
tables (look as does not see device). There is not problem in case
that
device is registered as gateway (same IP, same phone number).
Gateway case:
2005/07/19 12:40:56.391 5 Routing.cxx(137) ROUTING
Checking
policy Internal for request Setup CRV=8330
2005/07/19 12:40:56.391 2 RasTbl.cxx(693) RASTBL
Gateway
7129_endp matched by prefix 469775742
2005/07/19 12:40:56.391 4 RasTbl.cxx(1033) Prefix
match for
GW 10.172.0.98:1720
Terminal case:
2005/07/19 12:44:00.823 5 Routing.cxx(137) ROUTING
Checking
policy Internal for request Setup CRV=8335
2005/07/19 12:44:00.823 3 ProxyChannel.cxx(1560) Q931s No
destination for unregistered call 80 1c 54 91 bf 57 02 10 31 43 40
71 36
17 64 35 from 10.172.4.253:58568
Looks like RasTbl is not called in case that device is registered as
Terminal.
Full debug 5 log files are included for your reference.
Regards
Jiri