GNU Gatekeeper

GNU Gatekeeper (abbreviated as GnuGk) is a free software project that implements an H.323 Gatekeeper based on the OpenH323 or H323Plus stack. A gatekeeper provides address translation, admissions control, call routing, authorization and accounting services to an H.323 system defined on the H.323 standard by ITU-T.

Features
GnuGk's set of features include:
 * Created for Linux, Windows, macOS, Solaris, FreeBSD, OpenBSD and NetBSD
 * A policy-based flexible routing mechanism
 * Calling and called numbers rewriting, including CLI rewriting
 * Full H.323 proxy, including Real-time Transport Protocol (RTP) and RTP Control Protocol (RTCP) media channels, and T.120 data channels
 * NAT traversal using a number of protocols, including H.460.17, H.460.18 and H.460.19
 * IPv6 support (incl. IPv4-IPv6 proxying)
 * LDAP directory support (H.350)
 * Call retry-failover
 * Clustering support by neighbors, parent-child, alternates GK
 * Transmission Control Protocol (TCP) status port for monitoring and external call routing
 * H.235 security
 * Accounting and call authorization via SQL database, RADIUS
 * ENUM support

License
It is covered by the GPL-2.0-only license. Besides, the authors explicitly grant the right to link it to the OpenH323 and OpenSSL libraries. This is necessary, since GNU GPL is incompatible with the licenses of these libraries.

History
Originally, a proof-of-concept gatekeeper was developed by Xianping Chen, Joe Metzger and Rajat Todi for an experiment. At the start of 1999, Jan Willamowius convinced the first authors to license their code under GNU GPL and began the project.

The code was named OpenH323 Gatekeeper, short OpenH323GK. A team at mediaWays provided LDAP subsystem and overlapped sending. In 2000, there are tens of people contributed to the project for coding and testing.

At the start of 2001, Chih-Wei Huang at Citron and his team began to use and modify the project for their VoIP services. In September 2001 Openh323GK version 1.0 was released.

In 2002, GnuGk 2.0 was released. It had new architecture for gatekeeper routed mode which can handle thousands of concurrent calls, and introduced full H.323 proxy and Citron's NAT technology. These features made it a carrier-graded H.323 gatekeeper suitable for commercial operations.

To avoid confusion with other OpenH323 based gatekeepers, the project was renamed GNU Gatekeeper, short GnuGk, to reflect that it was the only gatekeeper available under a GNU license.

In 2004, version 2.2 was released with a redesigned architecture, followed by the more stable version 2.2.1 in 2005.

In 2006, version 2.2.4 introduced call failover, ENUM and CLI rewriting.

In 2012, version 3.0 added IPv6 and full H.460.18/H.460.19 traversal zone support.

Compatibility
The official website maintains an interoperability list for H.323 software and products.

Contributors
Jan Willamowius is the project founder and still the maintainer.

Over the years dozens of people contributed code and bug fixes. Among the most active were the team a Mediaways (LDAP), Michal Zygmuntowicz (radius support), Chih-Wei Huang (2.2 redesign), and Simon Horne (NAT features).