Dimitris
I initially contributed the ENUM routing policy to GnuGK and I use it regularly with www.e164.org
ENUM is only ever designed to resolve the signalling address. It cannot be used to resolve the RAS address for placing LRQ's.
GnuGk does not use port 1720 by default so all ENUM records must point to signalling port 1721.
So this is the behaviour in GnuGk v2.2.4
[RoutingPolicy]
default=enum,dns
ENUM
1 900 123 4567 ---> user@xxxxxxxxxxxxx:1721
DNS
gk.mysite.com: ---> 65.234.x.x:1721
ACF tells EP to call 65.234.x.x:1721.
Question:
=========================================
Is there a way to do both, i.e. first check if the user is locally
registered on an ENUM resolved gatekeeper
and allow the gatekeeper to forward it to the gateway, if the user is
not locally registered.
To do this we need to make GnuGk take the ENUM reply and
resolve it (LRQ) through a gatekeeper service, before attempting the call.
=========================================
What you need to do is use the SRV policy prior to DNS. SRV policy is currently available in the CVS version of GnuGk.
DNS SRV is covered by H.323 Annex O, these are special DNS addresses which indicate the H.323 signal and RAS addresses of a particular domain.
So
for gk.mysite.com the DNS records would look like this.
DNS 65.234.x.x
Signal Port (_h323cs_.udp) gk.mysite.com:1721
RAS Port (_h323ls_.udp) gk.mysite.com:1719
Following the logic
ENUM
1 900 123 4567 ---> user@xxxxxxxxxxxxx (note must use 1720 as signal port of GK)
SRV
preform SRV query on gk.mysite.com
success:
Resolve _h323ls_.udp record to gk.mysite.com:1719, preform LRQ for user at gk.mysite.com:1719, LCF returns 210.93.x.x:1720 as the signalling address of user.
DNS
no SRV Record so resolve gk.mysite.com to 65.234.x.x
ACF tells EP to call gateway directly at 210.93.x.x:1720 If no DNS SRV record available then route to gatekeeper at 123.234.x.x:1720
So to fully answer you question
[RoutingPolicy]
default=enum,srv,dns
(with the CVS version of GnuGk compiled with DNS support in pwlib)
Simon
At 07:35 PM 31/10/2006, you wrote:
Hi all,
I have the following problem that I would like to discuss with others
who use H.323 enum on GnuGk 2.2.4.
The GnuGk 2.2.4 manual states:
* |enum|
The enum policy replaces the destination with the information
returned by ENUM server, so you must have the appropriate routing
policies to finally route the call after the enum policy. Usually
you should also have the dns policy after the enum policy, since
the new location is often returned in the form of
'number@gatekeeper' and the dns policy is needed to resolve this.
Reading this, you expect that GnuGk will be able to resolve ENUM entries
pointing to the responsible gatekeeper
e.g. IN NAPTR 100 10 "u" "E2U+h323"
"!^\\+(.*)$!h323:\\1@xxxxxxxxxxxxxxxx:1719!" .
However, the above example will not work, because after the ENUM query
is resolved and DNS policy is applied,
GnuGk places a call to the Signalling Port of the ENUM resolved host.
Thus, only an entry such as this may work,
pointing to :
e.g. IN NAPTR 100 10 "u" "E2U+h323"
"!^\\+(.*)$!h323:\\1@xxxxxxxxxxxxxxxx:1721!" .
assuming gnugk has a signalling port enabled (proxy or routed mode)
2006/10/31 12:25:19.261 5 Routing.h(168) ROUTING Checking
policy ENUM for the request ARQ 7924
2006/10/31 12:25:19.291 4 Routing.cxx(1092) ENUM
converted remote party xxxxx to xxxxx@xxxxxxxxxxxxxxxx:1719
2006/10/31 12:25:19.291 5 Routing.h(168) ROUTING Checking
policy DNS for the request ARQ 7924
2006/10/31 12:25:19.291 5 Routing.h(174) ROUTING Policy
DNS applied to the request ARQ 7924
2006/10/31 12:25:19.291 2 RasTbl.cxx(2293)
CallTable::Insert(CALL) Call No. 160, total sessions : 1
2006/10/31 12:25:19.291 2 RasSrv.cxx(389)
ACF|1.2.3.4:1720|8024_endp|14331|xxxxx:dialedDigits|yyy:h323_ID|false;
2006/10/31 12:25:19.291 3 RasSrv.cxx(232) RAS Send to
1.2.3.4:1719
Where the routing policy is:
[RoutingPolicy]
Default=enum,dns
In general, ENUM entries may point to specific IPs of endpoints
listening on port 1720,
or point to gateways for PSTN termination for a range of numbers.
Is there a way to do both, i.e. first check if the user is locally
registered on an ENUM resolved gatekeeper
and allow the gatekeeper to forward it to the gateway, if the user is
not locally registered.
To do this we need to make GnuGk take the ENUM reply and
resolve it (LRQ) through a gatekeeper service, before attempting the call.
Is there a way to configure GnuGk to do this, or will it take extra
development effort?
We would be interested to hear how others are using H.323 ENUM, if at all.
Regards,
Dimitris Daskopoulos
GRNET/RTS
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________________
Posting: mailto:Openh323gk-users@xxxxxxxxxxxxxxxxxxxxx
Archive: http://sourceforge.net/mailarchive/forum.php?forum_id=8549
Unsubscribe: http://lists.sourceforge.net/lists/listinfo/openh323gk-users
Homepage: http://www.gnugk.org/
------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________________ Posting: mailto:Openh323gk-users@xxxxxxxxxxxxxxxxxxxxx Archive: http://sourceforge.net/mailarchive/forum.php?forum_id=8549 Unsubscribe: http://lists.sourceforge.net/lists/listinfo/openh323gk-users Homepage: http://www.gnugk.org/