登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

baikgd的博客

技术是工具,生活是目的,更好的生活是目标!

 
 
 

日志

 
 

使用Asterisk作为H.323和SIP网关  

2008-10-07 14:38:30|  分类: Asterisk |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

首先安装Asterisk,可参见本站内相关的内容,这里不详述。

下载并编译OH323.SO模块,该模块会用到pwlib和openh323两个库,现已经成功编译一个静态连接pwlib和openh323库的 模块。 如果要编译,必须注意pwlib和openh323的版本,有个USE_OLD_CAPABILITIES_API编译开关对应较老的版本。我使用的是asterisk-oh323-0.7.3.tar.gz 即oh323 v0.7.3版本,该版本对应于Asterisk 1.2.x (Asterisk有两个版本树,一个是Stable版本系列1.0.x, 一个是Head系列1.2.x, 目前我使用的是1.2.x, 因此在编译oh323的时候要选择对应版本)

编译完成后使用make install, 安装模块以及添加文件。如果使用已编译模块,则需要将oh323.so复制到Asterisk的模块目录,默认安装目录是 /usr/lib/asterisk/modules,并且手动添加配置文件oh323.conf到Asterisk的配置文件目录,默认是 /etc/asterisk

配置oh323.conf

在oh323.conf中找到"gatekeeper=<参数>"项,有以下几种参数:

  • DISABLE - 禁用gatekeeper
  • DISCOVER - 使用广播发现机制
  • <hostname> or <ip> - 显式制订gatekeeper的地址
  • GKID:<gatekeeper's id> - 显式指定gatekeeper id

如果已知gk在10.167.16.8, 则使用

gatekeeper=10.167.16.8

进行配置。

在oh323.conf中找到或直接在上一项下面添加

gatekeeperPassword=<密码>

密码是注册到gatekeeper的密码,没有则为空。

配置alias和prefix组, 一个这样的组的格式如下:

context=<context>
context=<context>
alias=<alias1>
alias=<alias2>
...
gwprefix=<prefix1>
gwprefix=<prefix2>
...

oh323.so支持多个alias/prefix组,并且为每个组指定一个context(即路由脚本),如需要将所有以888开头的被叫号码用名为voip-h323的context来路由,则编写以下配置:

context=voip-h323
gwprefix=777

codec配置

在oh323.conf最下面有一组codec,去掉或注释掉相应的即可。

将H.323话务路由到SIP Server

要将H.323话务路由到一台或多台SIP Server, 需要注册到这些SIP Server的至少一条Trunk线路,然后根据被叫号码分别路由到这些Trunk线路。

注册Trunk

在本例中,使用10.167.25.8的SIP Server, Trunk线路使用7770759,在sip.conf 文件里,找到[general]配置段,加入格式如下的Trunk 配置:

register=7770759:xxxxxx@10.167.25.8/7770759   /* xxxxxx 是7770759账号的密码 */ 

配置Out_Line

要使用Trunk线路路由outgoing话务,必须为每条Trunk线路配置一个Out_Line,这样才能在需要的时候调用Out_Line的名字来使用与之对应的Trunk线路。

在sip.conf文件里,加入一个名为sip-8的Out_Line, 该Out_Line使用上面配置的7770759作为外出线路,例子如下:

[sip-8]
username=7770759
type=friend
secret=xxxxxx
qualify=no
insecure=very
host=10.167.25.8
dtmfmode=rfc2833
canreinvite=no

配置H.323 To SIP路由脚本

打开extensions.conf文件,添加以下节:

[macro-dialout-trunk]
exten => s,1,Dial(SIP/${ARG2}@${ARG1})

[voip-h323]
exten => _777XXXX,1,Macro(dialout-trunk,sip-8,${EXTEN})

以上脚本定义了一个呼叫SIP终端的宏,并且在voip-h323这个context中将所有777开头,长度为7的号码通过sip-8路由到SIP终端。

配置SIP To H.323路由脚本

打开extensions.conf文件,添加以下节:

[from-pstn]
exten => _666XXX, 1,Dial(OH323/${EXTEN}

该脚本把被叫号码为666开头,长度为6的呼叫路由到H.323 GateKeeper

  评论这张
 
阅读(696)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018