一个基于h323协议的网守桥接服务器

熟悉h323协议的读者都清楚,在h323协议中网守间的关系通常为相邻或上下级关系。相邻网守间的定位请求都用LRQ信令(这么描述也许不太准确,简单地说,如果A终端通过网守G1呼叫B终端,而B终端是注册在另外一个网守G2上,如果这两个网守配置成互为信任的网守),那么 G1将通过LRQ请求G2来进行地址转换工作)。上下级关系一般是一个网守充当网关或终端。而且这必须是上级网守允许的情况下。

笔者开发的这个桥接服务器的工作情形是这样:一个是硬件网守,一个是联通宝视通网守服务器。当时客户已经有了一个硬件网守,又有大量的宝视通电话卡,宝视通网守不允许网守注册为网关,而且一个终端(可以理解为一个电话卡/或号码)只能同时一路通话。为了让这两个都用上,笔者采取了如下设计:

采用gnugk作为服务器原型(这样就不用去花费大量时间去找或写h323协议栈了,而且也省略了服务器的架构编码,呵呵,比较省事了)。将gnugk中的gkclient类作为一个终端注册到宝视通网守(一个gkclient位一个终端,那么n张宝视通卡不就可以有n个gkclient吗),这样在呼叫时只需更改呼叫信令的路由和E164及iP地址的转换就可以了。注意最后要将改服务器和硬件网守设为相邻关系。

在实际环境中,通过改写E164,基本实现了通过自己的网守和桥接服务器(也可称为网守)加上宝视通网守实现了voip和pstn的双向通话。

作者注:第一次写,可能写得不太清楚,欢迎交流msn:hzcheng@msn.com,请注明:csdn。欢迎发表改进意见,但不欢迎问候我的家人。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值