今天找资料时候,发现这文章写的比较全面。转过来,以备查找。
Asterisk译为星号(*)在很多应用中被用做通配符,Astrisk做为PBX系统的完美名称,原因之一是Asterisk可以连接数目庞大的接口类型,包括:
  1模拟接接口,如你的电话线或模拟电话.
  2数字线路,T-1E-1线路
  3Voip协议,SIPIAX
  目前正式版本是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端口采用通道1ks信令协议
;fxoks=2  ;定义fxo端口采用通道2ks信令协议
loadzone=us
defaultzone=us
 
    信令协议:Loop start(ls),ground start(gs),kewlstart(ks),使用ks外信令协议,fxoks中的ks替换lsgs,Asterisk的模拟电路推荐ks信令协议.
  
******编辑完zaptel.conf文件,需要使用/sbin/ztcfg -vv装载配置到硬件(不须要详细输出可以省略-vv);修改信令方法需要重启.在编辑sip.confiax.conf文档后,分别需要装载chan_iax2.sochan_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可以通过UDPTCP传输层协议进行传输.Asterisk目前没有TCP用于传输SIP信息.
    RTP用于端点间传输媒体(语音),AsteriskRTP使用大数字的无特权端口(默认10,00020,000)
    SIP优点:普通的被接受和结构灵活.其它的VOIP协议还有H.323,IAX,MGCP.