Asterisk学习资料

今天找资料时候,发现这文章写的比较全面。转过来,以备查找。
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 通道的文件
FXO FXS 通信
    区别 : 区别简单 , 就在于连接的那端提供拨号音 .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 直接传输媒体 .
  SIP RTP
    SIP 是一个应用层的信令协议 . 他使用的端口是 5060( 通常 ) 进行通信 .SIP 可以通过 UDP TCP 传输层协议进行传输 .Asterisk 目前没有 TCP 用于传输 SIP 信息 .
    RTP 用于端点间传输媒体 ( 语音 ),Asterisk RTP 使用大数字的无特权端口 ( 默认 10,000 20,000)
    SIP 优点 : 普通的被接受和结构灵活 . 其它的 VOIP 协议还有 H.323,IAX,MGCP.

你可能感兴趣的:(学习,资料)