Projekt GnuGK

Gnu gatekeeper je openH323 projekt, který implementuje H323 GK. Gatekeeper poskytuje kontrolu služeb ke koncovým bodům H323. Jedná se o nedílnou součást většiny instalací internetové telefonie, které jsou založeny na protokolu H.323.

Podle doporučení H.323 by měl gatekeeper poskytovat následující služby:

  • překlad adres
  • kontrola přístupu
  • kontrola šířky pásma
  • řízení pásma
  • signalizace hovorů
  • autorizace hovorů
  • řízení šířky pásma
  • řízení hovorů

Doporučení H.323 je mezinárodní standard vydaný ITU. Jedná se o komunikační protokol pro audio, video a data přenášená přes internet.

GnuGK je chráněn copyrightem GNU General Public License (GNU GPL), který umožňuje kopírovat,volně šířit nebo upravovat software, ale všechna práce musí být také publikována pod GNU GPL.

Formální jméno tohoto projektu je OpenH323 Gatekeeper, GNU Gatekeeper nebo zkráceně GnuGK. Existují další GK projekty, které ovšem nejsou totožné (např. OpenGatekeeper nebo Open GK).

GnuGK lze volně stáhnout ze stránky www.gnugk.org.


Instalace

Linuxová distribuce Debian obasahuje přímo balíček na instalaci GNUGK. Nejdříve je dobré případné předchozí GNUGK odinstalovat a smazat všechny související soubory s GNUGK. To vše provedeme následujícími příkazy.

#apt-get remove gnugk    /*odinstalování gnugk
#apt-get --purge gnugk    /*smazání všech konfiguračních souborů gnugk
#apt-get install gnugk    /*naistaluje aplikaci GnuGK

Konfigurace

Konfigurace je uložena v souboru /etc/gatekeeper.ini a za běhu GK se dá měnit telnet přístupem na port 7000. Pro znovu načtení konfigurace slouží příkaz Reload.
Přes terminál se dá konfigurační soubor měnit příkazem

#nano /etc/gatekeeper.ini

Konfigurační soubor GNUGK s komentářem:



[Gatekeeper::Main]
Fortytwo=42    ;indikatorem 42 se nastavuje ze je pritomna konfikurace
Name=GnuGK715    ;jmeno GK
TimeToLive=600    ;obnoveni registrace
[RoutedMode]
GKRouted=0    ;GK jede v rezimu DRC, vyrizuje pouze RAS signalizaci
H245Routed=0
RemoveH245AddressOnTunneling=0
AcceptNeighborsCalls=1    ;povoleni volani ze sousednich GK
AcceptUnregisteredCalls=0
SupportNATedEndpoints=1
DropCallsByReleaseComplete=1
CallSignalPort=1720    ;default call signalization port
[Proxy]
[RasSrv::GWPrefixes]
[RasSrv::RRQFeatures]
OverwriteEPOnSameAddress=1    ;dovoluje registraci pod jinou IP
[RasSrv::ARQFeatures]
ArjReasonRouteCallToSCN=0
ArjReasonRouteCallToGatekeeper=1
CallUnregisteredEndpoints=1
RemoveTrailingChar=#
RoundRobinGateways=1
[RoutingPolicy]
default=explicit,internal,parent,neighbor
[RasSrv::RRQAuth]
default=confirm
[GkStatus::Auth]
rule=allow
[RasSrv::RewriteE164]
[RasSrv::LRQFeatures]
[RasSrv::PermanentEndpoints]
[Gatekeeper::Auth]
default=allow
[CallTable]
[H225toQ931]
[Gatekeeper::Acct]
[NATedEndpoints]
[CTI::Agents]
VirtualQueueAliases=CC
RequestTimeout=10