• 『轉』asterisk入门连载一


    轉自: http://hi.baidu.com/%BF%AA%D4%B4%BC%BC%CA%F5/blog/item/0298b00aa5515c3be824884b.html

    都是初学者,我把看过的一些比较容易懂的文章做些剪接,都是些入门的东西,大家看了,不要笑话 开始上菜....

    ■ 什么是 Asterisk?
    于 1999 才21岁的Mark Spencer 还在奥本大学读书时,写出一套电话语音交换系统引擎.并且是以开放源代码释出,除拥有庞大社群的开发群外,其成熟的引擎核心也被各界广为採用以取代传统电话交换机的应用。


    ■ Asterisk的架构
    PBX Switching Core
    PBX交换核心 
    Scheduler and I/O Manager
    排序与I/O层
    Application Launcher
    应用层
    Codec Translator
    编码转换核心
    Dynamic Module Loader 
    CDR Core
    帐务核心 

    VoIP 应用架构示意图

    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

     


    信令协议oop 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.

     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 <10000>

    canreinvite=no  ;


    用户户类型是用于认证呼入呼叫;端类型用于呼出呼叫;朋友类型两种都用.(这个常用在sip.confiax.conf中用到)

  • 相关阅读:
    结对第二次作业——某次疫情统计可视化的实现
    结对第一次—疫情统计可视化(原型设计)
    寒假作业(2/2)——疫情统计
    软工实践寒假作业(1/2)
    3DMAX三维编辑命令FFD的使用
    个人作业——软件工程实践总结&个人技术博客
    个人作业——软件评测
    结对第二次作业——某次疫情统计可视化的实现
    软工实践寒假作业(2/2)
    软工实践寒假作业(1/2)
  • 原文地址:https://www.cnblogs.com/abinxm/p/1658088.html
Copyright © 2020-2023  润新知