当前位置: 首页 > 工具软件 > Kannel > 使用案例 >

Linux下开源WAP网关—Kannel1.4.3安装方法

潘意
2023-12-01

    (1)kannel安装
      目前最新的Kannel稳定版版本为1.4.3,可以在http://www.kannel.org下载。下载后进行安装:
      解压后进入源文件所在目录如:cd /usr/local/gateway-1.4.3,依次执行以下命令:
      apt-get install libxml2 libxml2-dev     
     ./configure
     make
     make bindir=/gateway-1.4.3/bin install
      编译后在源文件中的gw目录下将看到两个可执行文件:bearerbox、wapbox

   (2)bearerbox、wapbox 
      1)bearerbox
        Bearerbox模块连接到CSD router,提供了对Wapbox的接口,实现了WAP协议栈的WDP层。
        Bearerbox记录当前运行的wapbox,从CSD router接收UDP包,把从同一个终端接收到的包路由到同一个wapbox,收到wapbox的处理结果后发到相应的用
         户终端。
      2)wapbox
        wapbox模块实现了WAP协议栈的上层部分,属于同一个事务的会话和事务由同一个wapbox处理。wapbox实现了WTLS、WTP和WSP层。Wapbox从电话接收到
         类似HTTP的请求,把实际的HTTP请求发到内容服务器,压缩响应数据,发回到终端。
       
      bearerbox和wapbox之间通过TCP建立连接。 bearerbox充当server等待wapbox进行连接。这样, bearerbox就不需要保留静态的wapbox列表。它以一个空的列表开始,等待wapbox进行注册,这种设计使得动态的加入新的wapbox变得非常方便:只须安装一个,配置好,连接到相应的bearerbox。
    如果bearerbox和wapbox之间的TCP连接断开了,bearerbox会得到通知把它从自己的clients列表中去掉。当崩溃的 wapbox从bearerbox的clients列表中 去掉之后,从应该路由到此wapbox的终端收到的数据包被看作从一个新的终端收到。这意味着 wapbox必须能处理在一个会话当中的包。
    也可能出现这样的情况,wapbox还存活着,但已经不能处理任何消息了。为了检测这种情况,wapbox要定期向bearerbox发送心跳(heartbeat)包,如果bearerbox未能收到heartbeat消息,它认为存在问题的wapbox崩溃了,但是未能断开TCP连接。 bearerbox会断开连接,把它从clients列表种去掉。当wapbox恢复     后,会重新打开连接。Heartbeat消息还包含wapbox的负载,bearerbox据此进行负载平衡。
 
    (3)配置网关
      安装后还可以自定义网关参数。
     观察其中一个配置文件,执行命令:vi gw/wapkannel.conf

      # KANNLE WAP示例配置文档
      # Created by Nanu
      # http://nanu.8866.org
      # 这是一个必须变量core
      group = core
      # 用于bearerbox侦听HTTP管理命令的端口号。可以设定为高于1023的任何端口
      admin-port = 13333
      # 指定是否启用SSL
      admin-port-ssl = false
      # HTTP 管理命令的密码
      admin-passWord = yourpasswd
      # 请求Kannel状态的密码。如果没有设置,则无需密码。
      status-password = rose123
      # 拒绝来自该IP地址的连接
      admin-deny-ip = "123.123.123.123"
      # 允许这些IP的连接,可以使用通配符
      admin-allow-ip = "*.*.*.*"
      # 用于wapbox连接的端口。如果没有设置,则Kannel不能处理WAP传输
      wapbox-port = 13002
      # 拒绝来自该IP地址的连接
      box-deny-ip = "123.123.123.123"
      # 允许这些IP对WAP单元的连接,可以使用通配符
      box-allow-ip = "*.*.*.*"
      # 拒绝来自该IP的UDP数据包
      udp-deny-ip = "123.123.123.123"
      # 允许来自该IP的UDP数据包,可以使用通配符
      udp-allow-ip = "*.*.*.*"
      # 如果设置了这个参数,Kannel就会侦听指定IP的9200到9208端口的WAP UDP数据包。
      # 如果不需要具体限定,可以只用一个星号
      wdp-interface-name = "*"
      # 日志文件
      log-file = "kannel.log"
      # 日志级别
      # 0 调度
      # 1 信息
      # 2 警告
      # 3 错误
      # 4 致命问题
      log-level = 1
      # WAPBOX 组配置信息
      # 必选变量
      group = wapbox
      # 运行bearerbox的计算机
      bearerbox-host = localhost
      # 计时器的较验频率
      timer-freq = 1
      # 日志文件
      log-file = "wap.log"
      # 日志级别
      # 0 调度
      # 1 信息
      # 2 警告
      # 3 错误
      # 4 致命问题
      log-level = 1

   (4)启动网关    
     必须先启动bearerbox,然后再启动 wapbox。由于bearerbox是网关的基本部分,所以必须要先启动。
      进入源代码目录下的gw文件夹:cd gw/
     启动bearerbox:
     ./bearerbox -v 1 pushkannel.conf &
     启动wapbox:
     ./wapbox -v 1 pushkannel.conf &
    
       pushkannel.conf为软件包自带的配置文件
  
   (5)通过HTTP管理网关
     在命令行下下输入:
     wget http://localhost:13000/shutdown?password=bar (关闭网关)
     wget http://localhost:13000/status?password=bar (获取网关状态)
     wget http://localhost:13000/resume?password=bar (继续运行网关)

           或浏览器下输入:

     http://localhost:13000/shutdown?password=bar (关闭网关)
     http://localhost:13000/status?password=bar (获取网关状态)
     http://localhost:13000/resume?password=bar (继续运行网关)


     13000:为配置文件中admin-port指定的端口
     password:为配置文件中admin-password指定的密码   

 类似资料: