gnu-gatekeeper-使用手册.doc_第1页
gnu-gatekeeper-使用手册.doc_第2页
gnu-gatekeeper-使用手册.doc_第3页
gnu-gatekeeper-使用手册.doc_第4页
gnu-gatekeeper-使用手册.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

最近在做H.323网守部分的开发。网上只有很老版本的繁体中文版的用户手册,最新版本是2.2.7的。(但是程序已经更新到2.2.8了)趁着最近还熟悉里面的东西,顺手翻译一下,供今后学习参考用。OpenH323 Gatekeeper - The GNU Gatekeeper 使用手冊Version 2.2.81. 介绍 关于 版权 名称 下载2. 编译和安装 编译网守 addpasswd的功能 安装网守3. 启动(指南) 第一次简单实验 使用状态接口监控网守 以路由模式启动网守 虚拟PBX:中断所有呼叫 通过网关进行呼叫路由来呼叫外部用户 改写E.164号码4. 网守基本配置 令行参数 配置文件 Gatekeeper:Main GkStatus:Auth GkStatus:Filtering LogFile5. 路由模式及代理配置 RoutedMode Proxy6. 路由配置 RoutingPolicy RoutingPolicy RasSrv:RewriteE164 RasSrv:RewriteAlias RasSrv:GWRewriteE164 Endpoint:RewriteE164 Routing:Sql Routing:NumberAnalysis RewriteCLI7. RAS配置 RasSrv:GWPrefixes RasSrv:PermanentEndpoints RasSrv:RRQFeatures RasSrv:ARQFeatures RasSrv:AssignedAlias RasSrv:AssignedGatekeeper NATedEndpoints8. 认证配置 Gatekeeper:Auth FileIPAuth SimplePasswordAuth SQLPasswordAuth RasSrv:RRQAuth SQLAliasAuth SQLAuth PrefixAuth RadAuth RadAliasAuth CapacityControl GkH350:Settings9. 账户配置 Gatekeeper:Acct FileAcct RadAcct SQLAcct StatusAcct SyslogAcct10. 邻居配置 RasSrv:Neighbors RasSrv:LRQFeatures Neighbor:11. 终端配置 EP:12. 高级配置 CallTable H225toQ931 GkQoSMonitor Endpoint CTI:Agents CTI:MakeCall SQLConfig13. 监控网守 状态接口的端口 命令行(参考) 消息(参考) 状态端口过滤1. 介绍1.1 关于 OpenH323 Gatekeeper The GNU Gatekeeper是一个H.323网关的开源项目。网守为H.323终端提供呼叫控制服务。它是基于H.323协议的互联网电话体系中的必需的一部分。 根据H.323协议,网守应提供以下功能:l 地址翻译l 呼入控制l 带宽控制l 区域管理l 呼叫控制信令l 呼叫认证l 带宽管理l 呼叫管理The GNU Gatekeeper基于OpenH323协议栈实现了大多数功能。H.323协议是由ITU公布的国际标准。它是互联网上音频、视频和数据通信的标准。1.2 版权 它适用于GNU通用公共授权(GNU GPL)。另外,我们明确地获得权力来连接OpenH323库和OpenSSL库。 一般来说,GNU GPL允许你拷贝、发布、转售或者修改这个软件,但是它要求所有源于此的工作也必须遵循GNU GPL。这意味着你必须公开所有引用了网守的扩展程序的源代码。细节请参考COPYING。 否则,你必须通过TCP连接至状态端口来和网守进行互交。这样,你只需要公开和网守集合的功能(并且提供这部分的源代码),同时可以保持应用部分私有。 名字这个项目的全名是OpenH323 Gatekeeper The GNU Gatekeeper,简称GnuGk。我们以此强调这个软件是自由软件。 下载最新版本在下载2 编译和安装2.1 编译网守 为了生成网守,你需要PWLib 和OpenH323 或者更新的版本。开发版通常需要最新版本的OpenH323。 编译顺序1. PWLib(发行版本和调试版本)2. OpenH3233. OpenH323测试程序(非必需,仅仅用来确认之前的工作)4. 网守在Unix上,通过在网守目录运行configure,然后分别运行make debug和make opt来生成调试版本和发行版本。运行make可以同时生成两个版本。注意,你只能使用高于3.3.x版本的GCC的编译。低于此版本则无法编译通过。好习惯是在实际编译(make debug 或者make opt)之前在网守目录运行make dependency或者make optdepend。这些命令生成适当的以来列表,这样,当你从CVS更新源代码的时候,所有受影响的文件将被重新编译。在Windows上,仅仅需要使用Microsoft Visual Studio .NET 2003或者Microsoft Visual Studio 6.0 SP6打开并编译对应的解决方案或工作空间即可。当然,PWLib和OpenH323必需已经编译好并设置好路径。如果你需要MySQL或PostgreSQL功能,则需要编译并安装适当的库并且在网守项目中添加HAS_MYSQL=1和HAS_PGSQL=1的宏。你也必须设置好这些库以及对应头文件的路径。执行configure help可以查看所有编译时选项。包括网守属性是开启禁用状态。例如,如果你不需要RADIUS功能,则执行configure disable-radius。执行make optnoshared,则OpenH323会被静态编译到网守中。为了在高负载的情况下使用网守,推荐开启LARGE_FDSET特性(仅仅针对UNIX)(configure with-large-fdset=4096).某些系统还需要使用ulimit来取消单进程仅能申请1024个套接字的限制。注意,PWLib从1.5.3版本开始就支持这些特性,所以选择在GnuGk和PWLib中启动LARGE_FDSET特性。在GnuGk中设置性能会更好。LARGE_FDSE的最大值可以安装以下公式来计算:最大并发呼叫数 * 10 * 120%10 = 2个套接字用于Q.931 + 2个套接字用于H.245 + 6个套接字用于RTP和其他用途所以100个并发呼叫甚至不需要1024个套接字。2.2 addpasswd的功能 状态接口访问认证和简单密码认证模块需要在配置文件中保存被加密的密码。自2.2.2版本开始,网守可以对配置文件中所有密码加密。Addpasswd用来生成和保存密码的密文。网守已经包含这个功能,同时你可以单独编译: $ make addpasswd 使用方法: $ addpasswd CONFIG SECTION KEYNAME PASSWORD示例1:在GkStatus:Auth中给添加用户gkadmin,密码为secret: $ addpasswd gnugk.ini GkStatus:Auth gkadmin secrect示例2:通过将用名joe,密码为secert添加到Password中来启用终端认证:$ addpasswd gnugk.ini Password joe secret示例3: 将一个被加密的共享密钥添加到RadAuth中: $ addpasswd gnugk.ini RadAuth SharedSecret VerySecretPassword注意:变量KeyFilled定义了加密密钥的初始值。可以在配置文件中忽略它(如果被忽略,它的值被设为0),如果指定了这个变量的值,当变量值发生变化后,所有被密码的密文将会重新生成(用addpasswd重新加密)。2.3 安装网守 没有什么特殊的安装过程。只需要拷贝二进制文件到任意一个目录中,并为它创建一个配置文件。在源码树的etc/中有几个配置文件的示例。具体细节请参考4.2配置文件。 例如,在Linux x86平台上,最合适的gnugk二进制文件在obj_linux_x86_r中,把它拷贝到/usr/sbin/,并创建配置文件/etc/gnugk.ini,然后用下面命令启动: $ /usr/sbin/gnugk c /etc/gnugk.ini o /var/log/gnugk.log ttt 具体细节请参考4.1命令行选项。3. 启动(指南) 第一次简单实验为了看到所有的组件的运行情况,需要两台都连到局域网上的linux工作站,并且都安装了至少是1.1版本以上的OpenH323和OhPhone。在第一台计算机上运行网守和ohphone(在不同的控制台)。janmachine1 gnugk ttt此时网守以直连模式运行。使用“-ttt”可以让网守在控制台产生许多调试信息(你可以使用“-o logfile”来重定向到一个文件中)。janmachine2 ohphone l a u jan现在OhPhone处于监听状态(-l),并且会自动接受呼叫(-a)。它自动侦测网守并以用户名jan来注册。(如果如果因为某些原因自动侦测失败,可以用“-g ”来指定正在运行的网守的IP地址)。在第二台计算机上只需要运行ohphone即可:petermachine2 ohphone u peter jan第二个OhPhone会自动侦测网守并以用户名peter来注册,然后会尝试呼叫jan。网守负责将用户名翻译成IP地址(在此例中是machine1),然后OhPhone会呼叫在machine1上的OhPhone。第一个OhPhone会接受此呼叫。此时Peter和Jan就可以通话了。3.2使用状态接口监控网守现在我们想知道网守处理了哪些消息。在machine1的一个新的控制台中使用telnet连接到网守。janmachine1 telnet machine1 7000我们很可能看到“Access forbidden!”,因为不是每个人都启动了监听。现在我们创建一个名为gatekeeper.ini的文件。Gatekeeper.ini仅仅包含4行:Gatekeeper:MainFortytwo=42GkStatus:Authrule=allow用Ctrl-C来停止网守,然后重新启动它。 janmachine1 gnugk ttt c ./gatekeeper.ini我们再次运行telnet,此时便连接到网守上。现在重复第一次Peter呼叫Jan的试验就可以看到网守在非路由模式下处理的消息。在这个telnet的会话中,有许多有用的命令的。执行help可以查看这些命令。执行quit并敲回车来结束此次telnet会话。但是,每个人都可以连接状态接口并看到这些消息是非常不安全的。我们可以修改配置文件:Gatekeeper:MainFortytwo=42GkStatus:Authrule=passwordgkadmin=QC&VyAo5jEw=第五行是用addpasswd加进去的,他产生了一个用来限制访问状态端口的用户,用户名是gkadmin,密码是secret。使用新的配置文件来重新启动网守,并使用telnet连接网守。现在在你登录之前,你被要求输入用户名和密码。更多细节请参考4.4GkStatus:Auth。3.5 以路由模式启动网守以路由模式启动网守意味着网守为所有的呼叫路由呼叫信令。在此模式下,所有的呼叫信令都通过网守,因为网守对呼叫拥有更强的控制力。janmachine1 gnugk k现在网守以路由模式运行。远程登录到网守并进行一次呼叫,看看网守处理了哪些消息。注意:所有的多媒体包(音频和视频)仍然在两个终端(两个ohphone实例)之间直接发送。3.4 虚拟PBX:中断所有呼叫至此网守仅仅起到了把名字符号翻译成IP地址的作用。那是重要的但是一点都不令人兴奋的功能。既然网守拥有对呼叫的许多控制权,那么我们就让网守中止呼叫来做个例子。当我们连接到状态端口上之后,我们使用“PrintCurrentCalls”来显示出所有的呼叫,我们可以执行“Disconnectip ”来中止一个终端。我们可以写一个简单的脚本:连接到网守的状态端口来监控所有呼叫,并在5分钟之后结束它。因此,没有用户可以额外使用系统资源。看看类似呼叫转移的电话功能,在网守上还有什么功能是有效的。3.5通过网关进行呼叫路由来呼叫外部用户如果没有网关,我们不能呼叫因特网上其他用户的IP电话。如果要呼叫普通电话,我们也需要使用网关。_ _| endpoint jan| | | 5 |-| Gatekeeper |_| | |_ | | gateway gw1 | outgoing | | 7 |_|网关必需知道哪些呼叫希望通过网关路由,哪些号码希望直接呼叫。使用配置文件的RasSrv:GWPrefixes来告诉网守哪些号码前缀需要通过网关路由:RasSrv:GWPrefixesgw1=0这里告诉网守以0开头的E.164号码的所有呼叫需要路由到网关,该网关是以gw1注册到网守上的。如果网守上没有这个网关,呼叫将会失败。(注意:你必需使用网关的别名,你不能仅仅告诉网守网关的IP地址)。前缀除了可以包括数字0-9,#和*外,还可以包含特殊字符。.(点)匹配任意一个数字。可以用!(感叹号)来禁止该前缀。前缀匹配遵循最长前缀匹配原则,如果长度相等,!有用较高的优先级。你也可以使用:=语法来设置几个网关设定相同前缀的网关的优先级。(具体请参考7.1RasSrv:GWPrefixes)。示例:RasSrv:GWPrefixes; 这项会使得所有以0048开头的号码路由到gw1上gw1=0048,!004850,!004860; 这项仅仅路由号码是10位并且开头是001的呼叫gw2=001.3.6 改写E.164号码使用网关的时候,我们经常使用不同的内部号码,并且在通过网关发送号码到电话网之前改写他们。你可以使用RasSrv:RewriteE164来进行配置。例如:你想用IP电话呼叫号码为12345的电话,并且你希望真正呼叫的是别名为gw1之后的号码为08765的电话。RasSrv:GWPrefixesgw1=0RasSrv:RewriteE16412345=08765你也可以使用RasSrv:GWRewriteE164来设定基于网关的,并根据呼入或呼出来改写E.164号码。例如:你有两个不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论