免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1822 | 回复: 0
打印 上一主题 下一主题

Asterisk学习资料 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-08 01:06 |只看该作者 |倒序浏览

今天找资料时候,发现这文章写的比较全面。转过来,以备查找。
Asterisk译为星号(*)在很多应用中被用做通配符,Astrisk做为PBX系统的完美名称,原因之一是Asterisk可以连接数目庞大的接口类型,包括:
  1模拟接接口,如你的电话线或模拟电话.
  2数字线路,如T-1和E-1线路
  3Voip协议,如SIP和IAX
  目前正式版本是IAX2,但是IAX1的所有格式都已经停掉.所以当说到IAX都是特拽IAX2
  使用接口配置文件
  1.Zaptel.conf:硬件接口基层配置,我们将建立一个FX0和一个FXS通道.
  2.zapata.conf:硬件配置Asterisk的接口.
  3.extension.conf:拨号方案文件.
  4.sip.conf:配置SIP协议的文件
  5.iax.conf:配置呼入和呼出IAX通道的文件
FXOFXS通信
    区别:区别简单,就在于连接的那端提供拨号音.FXO不生成拨号音,而是接收.FXS端口提供拨号音和震铃电压,在有呼叫的时候提醒用户.两者接口都提供双向通讯(同时双方向的通讯传输).
    如果Asterisk有个兼容FXO端口,就可以把电话线接入这端口,可以使用这根电话线呼叫和接收电话呼叫.同理,如果有个FXS端口,可以连接一部模拟电话,Asterisk就可以呼叫这部电话,可能也可以呼叫.(端口:通过配置使用的信令进行定义)
    FXS卡必须像中心局(CO)进行运转,使用FXO信令.同理,FXO卡连接CO,就意味着它需要像终端进行运转,使用FXS信令.
Zaptel配置(FXO)
    在/etc/zaptel.conf文件,用于配置硬件,可以定义FXS端口与FXO信令的配置
fxsks=1  ;定义fxs端口采用通道1以ks信令协议
;fxoks=2  ;定义fxo端口采用通道2以ks信令协议
loadzone=us
defaultzone=us
 
    信令协议:Loop start(ls),ground start(gs),kewlstart(ks),使用ks外信令协议,把fxoks中的ks替换ls或gs,Asterisk的模拟电路推荐ks信令协议.
  
******编辑完zaptel.conf文件,需要使用/sbin/ztcfg -vv装载配置到硬件(不须要详细输出可以省略-vv);修改信令方法需要重启.在编辑sip.conf和iax.conf文档后,分别需要装载chan_iax2.so和chan_sip.so
Zapata配置
[trunkgroups]  ;定义一个主干组
; define any trunk groups
[channels]    ;硬件通道和他们选项信令方式.
; hardware channels  ;硬件通道
; default  ;默认 
busydetect=yes   ;增加这两行,要不FXO口不能检测到挂机信号。
busycount=5 
usecallerid=yes    ;设置来电显示
hidecallerid=no    ;设置去电不隐藏号码
callwaiting=yes   ;设置呼叫等待
threewaycalling=yes   ;开启三方通话(先闪断,再呼叫第三方,再闪断,就可以实现三方通话)
transfer=yes    ;转叫前转(需要三方通话支持)
echocancel=yes   ;回声消除
echotraining=yes   ;回音练习(会话前发个声音,用于测试回声)
; define channels  ;定义通道
context=from-test    ; Context内执行指令需要在extensions.conf内定义 [from-test]
signalling=fxs_ks    ;FXO通道使用FXS信令
channel => 2 ; PSTN放在端口2上
    允许zaptel和其它设备通过PCI硬件安装到系统中,编辑udev
[root@ask asterisk]# vi /etc/udev/rules.d/50-udev.rules
#在末尾添加上以下
KERNEL="zapctl",        NAME="zap/ctl"
KERNEL="zaptimer",      NAME="zap/timer"
KERNEL="zapchannel",    NAME="zap/channel"
KERNEL="zappseudo",     NAME="zap/pseudo"
KERNEL="zap[0-9]*",     NAME="zap/%n"
Dialplan配置

    基本的拨号方案,使用Echo()校验工作通道双向通讯; 
[from-test]
exten => s,1,Answer()
exten => s,n,Echo()
SIP
  
    SIP(会话初始协议),通常用于VOIP电话,进行呼叫建立,呼叫协商,呼叫结束.它帮助两个端互相通认,但它不处理媒体;当呼叫建立后,他通过实时传输协议(RTP)在电话A到电话B直接传输媒体.
 SIPRTP
    SIP是一个应用层的信令协议.他使用的端口是5060(通常)进行通信.SIP可以通过UDP和TCP传输层协议进行传输.Asterisk目前没有TCP用于传输SIP信息.
    RTP用于端点间传输媒体(语音),Asterisk中RTP使用大数字的无特权端口(默认10,000到20,000)
    SIP优点:普通的被接受和结构灵活.其它的VOIP协议还有H.323,IAX,MGCP.
 SIP配置
    /etc/asterisk/sip.conf文件中:
[general]
context=default
srvlookup=yet  ;建立一个逻辑和可解析地址的方法,你可以达到这个地址,还可以获取DNS很多好处
[10000]
username=10000  ;用户名
type=friend    ;可以定义用户(user)\端(peer)\朋友(friend)
secret=123456   ;认证密码
record_out=Always;去电录音Adhoc须要时,Never从不,Always总是
record_in=Never ;来电录音
callgroup    ;呼叫组,默认为"1"
pickupgroup   ;代接组
disallow     ;不允许编码
allow      ;允许编码
port=5060     ;端口号
qualify=yes    ;监视Asterisk服务器与电话之间是否延时(默认2,000可达;yes可替换毫秒)
context=default  ;指令的地点
host=dynamic    ;要求号码要注册,以便Asterisk如何找到电话.(static则不需要注册)
dtmfmode=rfc2833 ;
[email=mailbox=10000@device]mailbox=10000@device[/email]
callerid=test1
canreinvite=no  ;
    用户户类型是用于认证呼入呼叫;端类型用于呼出呼叫;朋友类型两种都用.(这个常用在sip.conf与iax.conf中用到)
  
  IAX  
    IAX(Inter Aasterisk eXchange)协议通常用于服务器间通信.IAX和SIP协议最大区别在于媒体(语音)在端点之间传输的方式不同.
    Asterisk默认情况是在5060端口接收SIP信令,在10000-20000端口接收RTP(媒体)流.而IAX所有的信令和媒体流都通过一个端口4569进行传输.这种方式的好处是IAX协议能更适合在NAT相关拓扑的应用.
    IAX用户习惯对进入PBX系统的呼叫进行鉴权和处理.对从PBX系统呼出的呼叫,Asterisk应用IAX的iax.conf文件的端点进入(条目)对远端进行鉴权)
    通过iax.conf设置进行呼叫的鉴权和处理:
[general] ;至少需要一个主要段落,主要定义IAX协议的相关设置.
jitterbuffer=no
register => remote_number:password@domain ;注册到远程服务器上,告诉服务器当前位置(互联网位置)在哪
[REC_SERVER]
type=user ;用user来定义呼入呼叫的类型
context=incoming ;进行呼入呼叫鉴定
auth=rsa
inkeys= ;公钥,是Asterisk标准
通过extensions.conf设置一个incoming的context:
[incoming]
exten => remote_number,1,Dial(SIP/number) ;拨打远程号码时(呼入)转移到number(内部)号码上
   --------以上是IAX入局配置,下面配置出局IAX连接--------
    在iax.conf设置呼出条目


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/77251/showart_1168538.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP