`

开源软交换ASTERISK学习日记(一)

 
阅读更多

转自:http://blog.csdn.net/seanchan/article/details/4216071

 

   很久以前接触过一些voip方面的东西,包括Asterisk、openh232、gnugk等等,当时的想法是纯粹H323、SIP协议的软件才是真正的voip软件,所以对Asterisk没什么兴趣,认为只是一个另类的软交换,现在看来真是自己的知识贫乏,太落伍了。最近因为公司开始接触这方面的业务,我也回头来找这方面的资料,原来国内有很多人用Asterisk来做voip,当然是用它作为基础进行应用开发,不是简单的使用,毕竟Asterisk只是个毛坯房,要住进去还要自己装修的。

 

    Asterisk是一款实现用户电话交换机(PBX)功能的自由软件、开源软件。Asterisk提供完善PBX功能,可以连接多种不同的电话终端,包括普通电话机,IP电话机,软电话等,支持多种主流的IP电话协议和系统接口。软件名称Asterisk-星号(*),在Unix(包括Linux)和DOS操作系统中是通配符,用来在查找中适配任何字符,寓意该软件广泛的适用性。
    
    Asterisk软件提供很多以前只有昂贵的专业PBX系统才支持的功能,比如:语音信箱,会议电话,交互式语音提示和自动电话转接等。由于该软件开放的性质,用户可以灵活的配置方便的扩展系统的功能,甚至编程开发自己所需功能的模块。Asterisk通常都运行在Linux操作系统下,当然它也可以在其他系统,如BSD,Windows或OS X下编译并安装。
    
    Asterisk服务器不需要任何特殊的硬件即可提供VoIP的服务,只需服务器有网络连接即可。它支持主流VoIP协议,包括会话发起协议(SIP)、H.323,既可作为IP电话服务器也可以作IP电话和PSTN之间的转接。Asterisk系统还设计了一个新协议,IAX,用于在Asterisk服务器之间维护话路通道。如果需要连接普通电话或PSTN中继线,运行Asterisk的服务器则需要安装相应的硬件接口板。许多厂商都生产用于连接普通电话、T1、E1中继线、ISDN等的接口板。
    
    由于是自由软件且具有丰富的系统功能,Asterisk提供给用户一个廉价并功能强大的PBX解决方案。它被越来越多的用于代替传统专用的PBX,或被用于跨国VoIP电话以节省长途费用。一些国家的VoIP电话公司已经开始支持Asterisk,提供IAX2接口或允许用户的Asterisk服务器使用SIP协议连接。
    
    截止2009年5月20日,Asterisk的最新版本是1.6.1.0版。
    
    以上这些是维基百科中的解释,应该是通俗易懂的了。

 

    言归正传,还是赶紧开始搭个平台出来先,我用的机器是一台RedHat9的机器,系统老了点,但是现成的,暂时也没其他机器可以用了,安装前已经估计到可能需要升级一些开发包,但还不知道要升级哪些。

    第一步当然是先下载个Asterisk,我选择了1.4.25版本,一是这个版本比较稳定,二是因为我的机器可能不太适合装太新的东西,下面是下载地址:
    http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.4.25.tar.gz

 

    安装必须用root用户,如果不用root用户会怎么样呢?估计会报没权限之类的错误,我反正没试过。如果你的机器连接互联网,你也可以用下面的命令下载文件到你的机器:

    #wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.4.25.tar.gz

 

    首先解压文件:

    #tar -zxvf asterisk-1.4.25.tar.gz

    开始编译:

    #cd asterisk-1.4.25

    #./configure

    #make menuselect

    #make

    “make menuselect”这步是做些模块选择,我现在对这些东西还没什么了解,所以我什么都没动就退出了。

 

     执行到“make”时出问题了:

    expand.c:489: allocated_variable_append: Assertion 'current_variable_set_list->next != 0' failed

    make: *** [all] Aborted

    有人说make3.79有问题,需要升级,我看看我机器上的make版本:

    #make --version

    GNU Make 3.79
    ......

    怎么就这么准确呢,简直就是说我的情况嘛。赶紧到GNU下个最新的make:

    #wget ftp://ftp.gnu.org/gnu/make/make-3.81.tar.gz
    #tar -zxvf make-3.81.tar.gz
    #cd make-3.81
    #./configure
    #make
    #make install
    
    无惊无险,顺利升级,但……是……,记得注销,重新登陆,因为我在安装完新的make后又查看了一下make版本,居然还是3.79。
    
    再次回到asterisk-1.4.25下面,执行“#make”,又遇到问题了:
   


    ……

    ……

    func_curl.c:109: `CURLOPT_NOSIGNAL' undeclared (first use in this function)

    ……

 

    CURL的版本也低了,需要升级CURL:

    #wget http://curl.haxx.se/download/curl-7.19.5.tar.gz
    #tar -zxvf curl-7.19.5.tar.gz
    #cd curl-7.19.5
    #./configure
    #make
    #make install
    
    #curl --version
    curl 7.19.5 (i686-pc-linux-gnu) libcurl/7.19.5 OpenSSL/0.9.7a zlib/1.1.4
    Protocols: tftp ftp telnet dict ldap http file https ftps
    Features: Largefile NTLM SSL libz
    
    如果你安装没出错,但看到的版本号还是老的,那就请重新登陆吧。
    
    再次编译Asterisk:
    
    #cd asterisk-1.4.25
    #make
    
    这次顺利通过,按照提示执行安装:
    
    #make install
    
    如果需要安装samples,执行下面的命令:
    
    #make samples
    
    好了,现在可以试下Asterisk是否能工作:
    
    #asterisk -vvvc
    
    这里的参数-v的意思是出现一些Asterisk工作的信息,v越多,显示的信息越多,第一次见到这样的参数,还真是有创意。
    
    如果你见到了下面这些提示:
    Asterisk Ready.
    *CLI>
    
    恭喜!你已经安装成功了!

 

    这个提示符下面可以用“help”命令看看可以做些什么,我看到有个“stop now”,于是自执行:

    *CLI>stop now

    Beginning asterisk shutdown....
    Executing last minute cleanups
           ==    Destroying musiconhold processes
    Asterisk cleanly ending (0).

    #

    直接把Asterisk停了:)

分享到:
评论

相关推荐

    浅谈用Asterisk构建企业开源VoIP

    【Asterisk构建企业开源VoIP】:Asterisk是一个强大的开源IP电话平台,它可以作为企业级IP PBX,同时也能兼容传统的TDM/模拟PBX系统,为这两种环境提供无缝连接。Asterisk的独特之处在于它拥有自己的IAX协议,这种...

    asterisk 学习日志

    Asterisk是一个开源的IP电话系统,用于搭建VoIP服务器,提供电话呼叫、语音邮件、会议等通信功能。以下是对Asterisk学习日志中提到的一些关键知识点的详细解释: 1. **Asterisk调试与日志记录**: 在学习Asterisk...

    最全Asterisk代码学习笔记

    Asterisk是一款开源的PBX(Private Branch Exchange)软件,它允许用户在IP网络上建立电话通信系统。作为Linux环境下的通信平台,Asterisk提供了丰富的功能,包括语音通话、会议、语音邮件、传真等。以下是一些核心...

    Asterisk学习必备资料

    Asterisk学习必备,共5本书籍,学习助手 Asterisk权威文档(第3版).pdf Asterisk,the future of telephony.pdf Building+Telephony+Systems+with+Asterisk.pdf Asterisk+For+Dummies+2006.pdf Asterisk_Developers_...

    asterisk的软交换和中继网关的配置.pdf

    Asterisk,作为一个开源的IP电话系统,以其灵活性和强大的功能在VoIP领域备受青睐。本文将深入探讨如何配置Asterisk作为软交换,以及与中继网关的集成,以实现PSTN和IP电话之间的互拨功能。 首先,我们来看拓扑结构...

    Asterisk 简介 Asterisk 架构 Asterisk程序框图

    Asterisk是一款开源的电话交换机软件,它允许用户创建高度自定义的通信系统,包括VoIP(Voice over IP)电话、会议桥、自动呼叫分配(ACD)以及许多其他电信功能。Asterisk的核心设计理念是灵活性和可扩展性,这使得...

    Asterisk 之数据库配置方案 asterisk数据库

    Asterisk 是一个开源的 PBX(Private Branch Exchange)系统,可以实现电话交换和语音网关的功能。在传统的 Asterisk 配置中,配置文件都是存储在文件系统中的,但是随着系统的复杂度和规模的增加,配置文件的管理和...

    asterisk学习资料

    Asterisk+manager+API(中文文档).doc Asterisk_manager_API.doc Asterisk_系统及其应用分析.pdf asterisk入门连载.doc asterisk架构.doc Asterisk核心框架.docx Asterisk核心框架.pdf asterisk目录结构.txt 基于...

    Asterisk.NET 1.6.3 控制Asterisk

    Asterisk.NET 1.6.3 是一个专门为.NET开发者设计的开源库,它提供了对Asterisk PBX系统的编程接口,使得用户可以方便地在C#、VB.NET或其他.NET支持的语言中控制和扩展Asterisk功能。这个库是基于Asterisk Manager ...

    asterisk_dialplan学习笔记

    Asterisk 是一个开源的自动交换机软件,主要用于Voice over Internet Protocol(VoIP)和传统电话网络之间的通讯。Asterisk 的配置文件中最重要的两个文件是sip.conf和extensions.conf,分别负责SIP协议的设置和拨号...

    asterisk16版本安装包

    - **PBX(Private Branch Exchange)**:Asterisk作为一款软交换系统,可以替代传统的PBX设备,实现电话分机间的通话,并与外部网络连接。 - **语音会议**:支持多用户参与的电话会议,便于远程协作。 - **IVR...

    通过asterisk-java操作asterisk

    Asterisk是一个开源的IP电话系统,而Asterisk-java则是一个Java库,它提供了与Asterisk服务器交互的能力。这个库使得开发者可以利用Java语言来控制和编程Asterisk PBX(Private Branch eXchange),执行诸如创建、...

    Asterisk 中文文档说明

    Asterisk是一款强大的开源通信平台,它被广泛用于构建VoIP(Voice over Internet Protocol)电话系统,SIP(Session Initiation Protocol)服务器以及各种通信应用。这个“Asterisk中文文档说明”涵盖了从基础概念到...

    asterisk入门学习资料集合(全手写)

    2、asterisk安装之后的简单启动,简单命令 3、对asterisk增加g729和g723编码 4、对语音板卡的安装,配合asterisk进行使用。板卡安装,配置,也有图文详解。 两个文件夹: 1、asterisk有关的几个安装包。相关的全部...

    Asterisk 1.4 官方使用手册

    《Asterisk 1.4 官方使用手册》是一份详尽的指南,旨在帮助用户深入了解和充分利用Asterisk 1.4版本这一开源PBX(Private Branch Exchange)系统。Asterisk是一款功能强大的电话交换软件,它允许用户创建自定义的...

    Asterisk 代码学习笔记,深入浅出asterisk,asterisk通道,呼叫情景(call scenario)

    Asterisk是一款开源的电话通信平台,它支持多种语音通信协议,并提供了丰富的API供开发者进行二次开发。本文将深入剖析Asterisk的核心概念,包括通道(Channel)、呼叫情景(Call Scenario)、桥接通道(Bridging ...

    asterisk权威指南

    《Asterisk权威指南》是一本深度探讨Asterisk PBX系统的专著,它详尽地阐述了这一开源通信平台的各个方面。Asterisk作为全球最受欢迎的PBX系统,不仅在企业通信领域占据重要地位,而且在创新通信解决方案中扮演着...

    asterisk的G729和G723编码配置

    Asterisk是一款开源的PBX(Private Branch Exchange)软件,提供了丰富的语音编码格式,包括G729和G723。但是,Asterisk的默认安装并不包含G729和G723编码模块,因此需要手动下载和配置这些模块以支持对应的语音编码...

Global site tag (gtag.js) - Google Analytics