fxsks=1 ;定义fxs端口采用通道1以ks信令协议
;fxoks=2 ;定义fxo端口采用通道2以ks信令协议
loadzone=us
defaultzone=us
|
[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上
|
[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"
|
[from-test]
exten => s,1,Answer()
exten => s,n,Echo()
|
[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 ;
mailbox=10000@device
callerid=test1 <10000>
canreinvite=no ;
|
[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(内部)号码上
|
[REMOTE_SERVER]
type=peer ;用peer定义呼出类型
host=my.receiving.server.ca ;接收服务器域名或IP地址
username=number ;接收服务器认证用户(账户号码)
secret=password ;接收服务器认证密码(账户密码)
qualify=yes ;不时检查远端的服务器是否响应用
disallow=all ;用于复位原来设置的所有编码信息
allow=gsm ;支持gsm编码
allow=libc ;支持libc编码
allow=g726 ;支持持g726编码
****使用disallow复位原来设置的所有编码信息.再重新设置支持的编码,优先级从高到低
|
[to_remove]
exten => remove_number,1,Dial(IAX2/REMOVE_SERVER/number)
|
extensions的名字或号码
priority(每个extension可以有多个步骤,步骤的编号称作priority)
|
exten => name,priority,application() |
exten=>50001,1,Answer() #编号为1的priority,执行接听电话
exten=>50001,2,Hangup() #编号为2的priority,然后挂电话
|