GNU Gatekeeper
首次发布 | 1999年6月 |
---|---|
当前版本 | 5.5(2020年6月30日 | )
源代码库 | |
编程语言 | C++ |
操作系统 | 跨平台 |
语言 | 英文 |
类型 | 通訊軟體 |
许可协议 | GNU GPL |
网站 | http://www.gnugk.org/ |
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的方式釋出原始碼。 [1]
隨後,程式被移植到更新版的OpenH323,並被命名為OpenH323 Gatekeeper,簡寫為OpenH323GK。在德國的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是目前計劃的協調人與維護者。