GNU Gatekeeper

GNU Gatekeeper
首次发布1999年6月,​25年前​(1999-06
当前版本5.5(2020年6月30日,​4年前​(2020-06-30
源代码库 編輯維基數據鏈接
编程语言C++
操作系统跨平台
语言英文
类型通訊軟體
许可协议GNU GPL
网站http://www.gnugk.org/

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

功能特色

GnuGK實作許多豐富實用的特性,包括

  • 可跨平台,目前已移植到LinuxWindowsMac OS XSolarisFreeBSDOpenBSD以及NetBSD
  • 可自訂策略的路由機制。
  • 來源以及目標號碼的改寫。
  • 完整的H.323代理功能,包含RTPRTCP媒體和T.120資料通道。
  • 穿越NATCitron'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的方式釋出原始碼[1]

隨後,程式被移植到更新版的OpenH323,並被命名為OpenH323 Gatekeeper,簡寫為OpenH323GK。在德國mediaWays德语mediaWays公司隨後加入,提供了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計劃,而且名稱都非常的類似。[2]。根據計劃主持人Jan Willamowius的說法,與其它計劃名稱相同並不是我們的錯,我們是第一個採用這名稱的開放源碼計劃。然而,經過主要開發者的討論後,決定將名稱改為GNU Gatekeeper,簡稱GnuGK。因為在所有類似計劃中,這是唯一一個以GNU GPL授權的。不過請不要誤會,它並非GNU計劃的一部分。

相容性

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

主要貢獻者

現代的系統架構和主要特色是由黃志偉(cwhuang)所設計,包括多緒架構、H.323 proxy以及NAT穿越技術等。[1]

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

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

相關連結

參考來源

  1. ^ 1.0 1.1 ICOS 2003論文[永久失效連結]
  2. ^ 2003開放源碼競賽結案報告書[永久失效連結]

外部連結