GNU Gatekeeper
Encyclopedia
The GNU Gatekeeper is an open-sourced
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
.
. 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.
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.
In the beginning 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 is capable of handling thousands of concurrent calls. Besides, full H.323 proxy and Citron's NAT technology were introduced. These features made it become a carrier-graded H.323 gatekeeper suitable for commercial operations.
To avoid confusion with other OpenH323 based gatekeepers, the project was renamed to GNU Gatekeeper, short GnuGk, to reflect the fact that is was the only gatekeeper available under a GNU license.
Version 2.2 was released in 2004 with a redesigned architecture, followed by the more stable version 2.2.1 in 2005.
With version 2.2.4 in 2006 call failover, ENUM and CLI rewriting were introduced.
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 Horn (NAT features).
Free and open source software
Free and open-source software or free/libre/open-source software is software that is liberally licensed to grant users the right to use, study, change, and improve its design through the availability of its source code...
project that implements an H.323 gatekeeper
H.323 Gatekeeper
An H.323 Gatekeeper serves the purpose of Call Admission Control and translation services from E.164 IDs to IP addresses in an H.323 telephony network. Gatekeepers can be combined with a gateway function to proxy H.323 calls and are sometimes referred to as Session Border Controllers...
based on the OpenH323
OpenH323
The H323Plus project, formerly OpenH323, has as goal developing a full featured, open source implementation of the H.323 Voice over IP protocol. The code is written in C++ and, through the development effort of numerous people around the world, fully supports the H.323 protocol...
or H323Plus stack. A gatekeeper provides address translation, admissions control, call routing, authorization and accounting services to an H.323
H.323
H.323 is a recommendation from the ITU Telecommunication Standardization Sector that defines the protocols to provide audio-visual communication sessions on any packet network...
system defined on the H.323 standard by ITU-T
ITU-T
The ITU Telecommunication Standardization Sector is one of the three sectors of the International Telecommunication Union ; it coordinates standards for telecommunications....
.
Features
GnuGk contains a rich set of features, including- Cross-platform, including LinuxLinuxLinux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
, WindowsMicrosoft WindowsMicrosoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
, Mac OS XMac OS XMac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
, Solaris, FreeBSDFreeBSDFreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...
, OpenBSDOpenBSDOpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution , a Unix derivative developed at the University of California, Berkeley. It was forked from NetBSD by project leader Theo de Raadt in late 1995...
and NetBSDNetBSDNetBSD is a freely available open source version of the Berkeley Software Distribution Unix operating system. It was the second open source BSD descendant to be formally released, after 386BSD, and continues to be actively developed. The NetBSD project is primarily focused on high quality design,...
. - A policy-basedPolicyA policy is typically described as a principle or rule to guide decisions and achieve rational outcome. The term is not normally used to denote what is actually done, this is normally referred to as either procedure or protocol...
flexible routingRoutingRouting is the process of selecting paths in a network along which to send network traffic. Routing is performed for many kinds of networks, including the telephone network , electronic data networks , and transportation networks...
mechanism. - Calling and called numbers rewriting, including CLI rewriting.
- Full H.323 proxy, including RTPReal-time Transport ProtocolThe Real-time Transport Protocol defines a standardized packet format for delivering audio and video over IP networks. RTP is used extensively in communication and entertainment systems that involve streaming media, such as telephony, video teleconference applications, television services and...
/RTCP media channels and T.120T.120T.120 is an ITU-T recommendation that describes a series of communication and application protocols and services that provide support for real-time, multipoint data communications...
data channels. - NAT traversalNAT traversalNAT traversal is a general term for techniques that establish and maintain Internet protocol connections traversing network address translation gateways. Network address translation breaks end-to-end connectivity. Intercepting and modifying traffic can only be performed transparently in the...
using a number of protocols, including H.460.18 and H.460.19. - LDAP directory support (H.350)
- Call retry / failover.
- Clustering support by neighbors, parent/child, alternates GK.
- TCPTransmission Control ProtocolThe Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...
status port for monitoring and external call routing. - H.235H.235H.235 covers security and encryption for H.323 and other H.245 based terminals The standard addresses authentication by means of several algorithms, including Diffie-Hellman methods, and privacy...
security. - Accounting and call authorization via SQLSQLSQL is a programming language designed for managing data in relational database management systems ....
database, radiusRadiusIn classical geometry, a radius of a circle or sphere is any line segment from its center to its perimeter. By extension, the radius of a circle or sphere is the length of any such segment, which is half the diameter. If the object does not have an obvious center, the term may refer to its... - ENUMEnumENUM or enum may refer to:* E.164 NUmber Mapping, a suite of protocols to unify the telephone system with the Internet* An enumerated type, a data type consisting of a set of named values...
support
License
It is covered by the GNU General Public LicenseGNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
. Besides, the authors explicitly grant the right to link it to the OpenH323 and OpenSSL
OpenSSL
OpenSSL is an open source implementation of the SSL and TLS protocols. The core library implements the basic cryptographic functions and provides various utility functions...
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. In the beginning of 1999, Jan Willamowius convinced the first authors to license their code under GNU GPL and started 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.
In the beginning of 2001, Chih-Wei Huang
Chih-Wei Huang
Chih-Wei Huang , a free software developer and promoter lives in Taiwan, is famous for his works on the VoIP and internationalization and localization fields in Greater China...
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 is capable of handling thousands of concurrent calls. Besides, full H.323 proxy and Citron's NAT technology were introduced. These features made it become a carrier-graded H.323 gatekeeper suitable for commercial operations.
To avoid confusion with other OpenH323 based gatekeepers, the project was renamed to GNU Gatekeeper, short GnuGk, to reflect the fact that is was the only gatekeeper available under a GNU license.
Version 2.2 was released in 2004 with a redesigned architecture, followed by the more stable version 2.2.1 in 2005.
With version 2.2.4 in 2006 call failover, ENUM and CLI rewriting were introduced.
Compatibility
The official website maintains an interoperability list for H.323 software and products.Contributors
Jan Willamowius is the project founder and current 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 Horn (NAT features).
See also
- H.323 protocolH.323H.323 is a recommendation from the ITU Telecommunication Standardization Sector that defines the protocols to provide audio-visual communication sessions on any packet network...
- H.323 GatekeeperH.323 GatekeeperAn H.323 Gatekeeper serves the purpose of Call Admission Control and translation services from E.164 IDs to IP addresses in an H.323 telephony network. Gatekeepers can be combined with a gateway function to proxy H.323 calls and are sometimes referred to as Session Border Controllers...
- H.323 GatewayH.323 GatewayAn H.323 gateway is an optional type of endpoint that provides interoperability between H.323 endpoints and endpoints located on a switched-circuit network , such as the PSTN, the ISDN or an enterprise voice network....
- Voice over IP (VoIP)Voice over IPVoice over Internet Protocol is a family of technologies, methodologies, communication protocols, and transmission techniques for the delivery of voice communications and multimedia sessions over Internet Protocol networks, such as the Internet...
- Network Address TranslationNetwork address translationIn computer networking, network address translation is the process of modifying IP address information in IP packet headers while in transit across a traffic routing device....
External links
- Official site
- German site
- GnuGk Redesign document
- GkGui a Java Graphical User InterfaceGraphical user interfaceIn computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
(GUI) for the GNU Gatekeeper - GnuGk ACD an automatic call distributorAutomatic call distributorIn telephony, an Automatic Call Distributor , also known as Automated Call Distribution, is a device or system that distributes incoming calls to a specific group of terminals that agents use. It is often part of a computer telephony integration system.Routing incoming calls is the task of the ACD...
(ACD) for the GNU Gatekeeper