|
This is the manual for GNU Gatekeeper 5.5. Chapters: Contents · Introduction · Installation · Getting started · Basic Config · Routed Mode & Proxy · Routing · RAS Config · Authentication · Accounting · Neighbors · Per Endpoint Config · Advanced Config · Monitoring · Advanced Topics
The GNU Gatekeeper Manual Chapter 1414. 高级主题本手册的这一部分将涵盖高级主题,例如编译和调试GnuGK。 14.1 从Github获取代码并编译GnuGk以下说明是如何在Ubuntu平台上从源代码编译GnuGk的示例。 首先,确保系统是最新的,并安装编译所需的工具 sudo apt-get update sudo apt-get install automake flex bison build-essential git pkg-config automake linuxdoc-tools libssl-dev另外,请确保已安装要使用的所有数据库或LDAP服务器的 "...-dev" 软件包。 不要从Linux发行版中安装PTlib或H323Plus软件包。 注意: 不能使用OPAL项目中的最新PTLib;请参见第11页上的“PTLib”。它正在进行许多与GnuGk不兼容的更改。使用我们的修补版本PTLib 2.10.9。 从Github获取并编译PTLib: cd ~ git clone https://github.com/willamowius/ptlib.git cd ptlib export PTLIBDIR=~/ptlib ./configure --enable-ipv6 --disable-odbc --disable-sdl --disable-lua --disable-expat make optnoshared 获取并编译H323Plus: cd ~ git clone https://github.com/willamowius/h323plus.git cd h323plus export OPENH323DIR=~/h323plus ./configure --enable-h235 -enable-h46017 --enable-h46026 make optnoshared 获取并编译GnuGk: cd ~ git clone https://github.com/willamowius/gnugk.git cd gnugk ./configure --enable-h46018 --enable-large-fdset make optnoshared 编译完成后,可找到二进制文件为 ~/gnugk/obj_linux_x86_64_s/gnugk(如,64位系统下). 为了保持最新,请运行以下命令: In order to stay up-to-date, run the following:
cd ~/ptlib git pull make clean ; make optnoshared cd ~/h323plus git pull make clean ; make optnoshared cd ~/gnugk git pull make clean ; make optnoshared 14.2 GnuGk 信息追踪若GnuGk无法按预期处理呼叫,则可以启用跟踪以查看GnuGk在内部执行的操作。 这不应与连接到控制端口并查看事件("telnet 127.0.0.1 7000")相混淆。 创建跟踪文件将揭示更多内部工作原理。 在命令行上,使用-ttttt和-o启动GnuGk,以将跟踪信息写入文件: gnugk -c gnugk.ini -ttttt -o trace.log 若有很多呼叫,trace.log可能会变得很大,因此请确保在测试完成后将其禁用,或者至少将生产的跟踪级别降低到2或3。 还可在配置文件中启用跟踪: [Gatekeeper::Main] TraceLevel=5 [LogFile] Filename=trace.log 或可通过控制端口启用跟踪: setlog trace.log debug trc 5 通过控制端口执行此操作的优点是不会中断正在进行的呼叫,并且可以快速打开或关闭它。 跟踪文件将包含详细说明GnuGk所做的一切的信息。 要将其简化为单个呼叫,您可以搜索callID或编写一个小的Perl脚本以仅提取您感兴趣的消息。 14.3 调试 GnuGk (on Linux)为了在GnuGk中使用gdb,必须在调试支持下编译软件和库。 可按照上述说明获取软件,每个子目录中的编译必须为: make debugnoshared 允许无限的核心转储: ulimit -c unlimited 运行GnuGk: ~/openh323/obj_linux_x86_64_d_s/gnugk -c your.ini 等待崩溃并运行GDB以获取堆栈回溯: gdb obj_linux_x86_64_d_s/gnugk core bt 获得回溯后,将其发布到邮件列表。 注意:在某些系统上,核心转储名为“core.xxx”,其中xxx是崩溃的GnuGk进程的进程号。 Next Previous Contents Chapters: Contents · Introduction · Installation · Getting started · Basic Config · Routed Mode & Proxy · Routing · RAS Config · Authentication · Accounting · Neighbors · Per Endpoint Config · Advanced Config · Monitoring · Advanced Topics
|
Last updated: 21. Jan 2025 |