Monday, October 29, 2012

GnuGk, как замена VBP-E и частично VBP-ST

Итак, зачем покупать VBP, если есть замечательный продукт GnuGk, который умеет все, что серия E и также H.480, что умеет ST-серия.
Далее немного подчищенной копипасты с сорцфорджа.

Собирается с поддержкой H.480.18/.19

=======================================================
Final Method - Installing GNUGK v3.1+ on Debian Squeeze
=======================================================

cd /usr/src
apt-get update
apt-get install flex bison build-essential pkg-config automake libmysqlclient-dev  libmysql++-dev  

libsnmp-base libsnmp-dev libssl-dev
wget http://backports.debian.org/debian-backports/pool/main/libs/libssh/libssh-4_0.5.2-1~bpo60+1_i386.deb
dpkg -i libssh-4_0.5.2-1~bpo60+1_i386.deb
wget http://backports.debian.org/debian-backports/pool/main/libs/libssh/libssh-dev_0.5.2-1~bpo60+1_i386.deb
dpkg -i libssh-dev_0.5.2-1~bpo60+1_i386.deb 
 
(Тут естественно, выбрать свою архитектуру) 
 
 # Get static version download - do not use SVN:

wget 
http://sourceforge.net/projects/opalvoip/files/v3.10%20Luyten/Stable%207/ptlib-2.10.7.tar.bz2
tar -jxf ptlib-2.10.7.tar.bz2
mv ptlib-2.10.7 ptlib

export PTLIBDIR=/usr/src/ptlib
cd /usr/src/ptlib
cat version.h
=======
#define MAJOR_VERSION 2
#define MINOR_VERSION 10
#define BUILD_TYPE ReleaseCode
#define BUILD_NUMBER 7
=======
./configure
make optnoshared

cd /usr/src

# Get from CVS Web Snapshot download:

wget http://h323plus.cvs.sourceforge.net/viewvc/h323plus/h323plus/?view=tar -O h323plus.tar.gz
export OPENH323DIR=/usr/src/h323plus
cd h323plus
cat version.h
====
#define MAJOR_VERSION 1
#define MINOR_VERSION 24
#define BUILD_TYPE    ReleaseCode
#define BUILD_NUMBER 1
====

./configure
make optnoshared


cd /usr/src

# Get from CVS Web Snapshot download:

wget http://openh323gk.cvs.sourceforge.net/viewvc/openh323gk/openh323gk/?view=tar -O gnugk.tar.gz
tar -xzf gnugk.tar.gz
cd openh323gk
cat version.h
===
# define GNUGK_MAJOR_VERSION 3
# define GNUGK_MINOR_VERSION 2
# define GNUGK_BUILD_TYPE ReleaseCode
# define GNUGK_BUILD_NUMBER 0
===

./configure --enable-h46018 --with-large-fdset=8192
make optnoshared 
  
Далее пример моего конфига gatekeeper.ini
 
[Gatekeeper::Main]
Fortytwo=42
Name=GnuGk
TimeToLive=600
StatusPort=7000
StatusTraceLevel=2
UseBroadcastListener=0 

[RoutedMode]
GKRouted=1
H245Routed=1
RemoveH245AddressOnTunneling=0
AcceptNeighborsCalls=1
AcceptUnregisteredCalls=1
SupportNATedEndpoints=1
DropCallsByReleaseComplete=1
CallSignalPort=1720
EnableH46018=1
EnableH46017=1
Enable46018=1

[Proxy]
Enable=1
InternalNetwork=10.10.0.0/255.255.0.0,127.0.0.0/8
T120PortRange=40000-40999
RTPPortRange=50000-59999
ProxyForNAT=1

[RasSrv::RRQFeatures]
AliasTypeFilter=terminal;dialeddigits
AliasTypeFilter=gateway;h323id ; Это для того, чтобы могли регистрироваться Поликомы

[RasSrv::ARQFeatures]
ArjReasonRouteCallToGatekeeper=1
;; RemoveTrailingChar=#
RoundRobinGateways=1

 
 
[RoutingPolicy]
default=explicit,internal,catchall


[Routing::CatchAll]
CatchAllAlias=inbound ; Сюда будут попадать все звонки напрямую на IP гейткипера.
 
;Другой вариант прописывания дефолтного маршрута:
;[RoutingPolicy]
;default=explicit,internal

;[Routing::Explicit]

;внутренний IP адрес=адрес перенаправления
;внешний IP адрес = адрес перенаправления
;тут вообще можно менять звонимые IP на все, что угодно
 

[Gatekeeper::Auth]
default=allow

[RasSrv::RRQAuth]
default=confirm

[GkStatus::Auth]
rule=password
username= some_hash; Тут используется утилита addpasswd. В примере она не собирается,
но можно использовать версию из репозитория

Запускается все командой вида

/usr/src/openh323gk/obj_linux_x86_64_s/gnugk -c gatekeeper.ini -o /tmp/gnugk.log -tt &

Telnet на 7000 порту обеспечит просмотр статуса.


 Небольшое дополнение:
В целях облегчения жизни себе и прочим поднял данный вариант на 92.249.69.203. Так что можете смело регистрироваться. Абсолютно бесплатно :)