GNU Gatekeeper

GNU Gatekeeper（簡稱GnuGK）是一個基於OpenH323來發展的開放源碼H.323 gatekeeper計劃。所謂的H.323 gatekeeper，定義於H.323標準中，負責對H.323的系統提供位址轉換、通話控制、路由決定、認證計費等服務。

功能特色 
GnuGK實作許多豐富實用的特性，包括
 可跨平台，目前已移植到Linux、Windows、Mac OS X、Solaris、FreeBSD、OpenBSD以及NetBSD。
 可自訂策略的路由機制。
 來源以及目標號碼的改寫。
 完整的H.323代理功能，包含RTP／RTCP媒體和T.120資料通道。
 可穿越NAT的Citron's NAT技術。
 以鄰近（neighbor）、父子（parent/child）和替代（alternate）GK等方式達到的叢集支援。
 可透過TCP狀態埠進行監看與控制。
 部分的H.235安全支援。
 可以SQL資料庫、radius或外部程式支援通話認識與計費。

授權方式 
以GNU通用公共許可證的方式授權。此外，作者明確的允許將執行檔與OpenH323和OpenSSL 函式庫做連結。這是必要的，因為GNU GPL與這些函式庫的授權並不相容。

發展歷史 
最初的版本是由Xianping Chen、Joe Metzger和Rajat Todi所開發，做為實驗用途。在1999年初，本計劃的主持人Jan Willamowius找到這支程式，並說服原作者以GNU GPL的方式釋出原始碼。

隨後，程式被移植到更新版的OpenH323，並被命名為OpenH323 Gatekeeper，簡寫為OpenH323GK。在德國的公司隨後加入，提供了LDAP子系統與交疊傳送（overlapped sending）的支援。到了2000年，大約已有十餘人加入，提供程式碼或協助測試。功能已相當堪用。不過，相較於另一個類似計劃OpenGatekeeper，功能上仍遜色許多。

在2001年，當時任職台灣呈祺資訊公司技術長的黃志偉和他的團隊開始加入，修改並使用此計劃於其VoIP服務中。增強了系統的穩定性，大幅改善效率，並加入許多新的特性，例如多緒安全的執行時期表格，鄰近和父子GK，以及認證模組。他的加入引導了此計劃的重大變革。2001年九月，OpenH323GK 1.0正式釋出，為此計劃的一大里程埤。

到了2002年底，GnuGK 2.0正式發佈。它包含重新設計的路由模式（routed mode）架構，並能同時處理上千個通話。此外，還有完整的H.323 proxy和Citron's NAT技術，為H.323穿越NAT的問題提供了完善的解決方案。這些特色使得GnuGK成為具有電信等級的H.323 gatekeeper，能真正應用於商業運轉。

2005年初發佈了2.2版，包含了多緒處理的RAS子系統，可客製化的路由策略，以及更有彈性的鄰近系統。小幅度的問題解決與改善仍持續至今。

更名 
隨著功能日益完善，計劃日趨成熟也更受歡迎。然而，愈來愈多的人搞不清楚此計劃的真正名稱。因為當時至少有三個其它同樣根基於OpenH323的開放源碼gatekeeper計劃，而且名稱都非常的類似。。根據計劃主持人Jan Willamowius的說法，與其它計劃名稱相同並不是我們的錯，我們是第一個採用這名稱的開放源碼計劃。然而，經過主要開發者的討論後，決定將名稱改為GNU Gatekeeper，簡稱GnuGK。因為在所有類似計劃中，這是唯一一個以GNU GPL授權的。不過請不要誤會，它並非GNU計劃的一部分。

相容性 
在官方網站維護了一份與其它H.323軟體和產品的互通性測試結果清單。由於GnuGK可免費並自由的使用，日漸受到歡迎，新的產品通常會宣稱已通過與GnuGK的相容性測試。

主要貢獻者 
現代的系統架構和主要特色是由黃志偉（cwhuang）所設計，包括多緒架構、H.323 proxy以及NAT穿越技術等。

Michal Zygmuntowicz貢獻了radius支援和一些其它改進。

Jan Willamowius是目前計劃的協調人與維護者。

相關連結 
 Voice Over IP
 網路地址轉換

參考來源

外部連結 
官方網站
德文網站
GnuGK技術文件
GkGui利用Java所開發的圖形化使用介面
GnuGK ACD GnuGK的自動通話分配器（ACD）
2003年，自由軟體鑄造場GNU GateKeeper的開放VoIP技術經驗

VoIP軟體
自由跨平台軟體
SourceForge專案
视频通讯